urllib re 内置的库html
requestspython
seleniummysql
驱动浏览器,获取js渲染的结果,没法用requests获取jquery
须要安装chromedriver到环境变量所支持的目录web
缺点:须要打开浏览器redis
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.page_source # 输出源代码
复制代码
phantomjssql
无节界面浏览器,直接后台处理数据chrome
from selenuim import webdriver
driver = webdriver.PhantomJS()
driver.get("http://www.baidu.com")
driver.page_source
复制代码
lxml数据库
beautifulsoup4django
依赖lxml库
from bs4 import BeautifulSoup
soup = BeautifulSoup('<html></html', 'lxml')
# 参数1 html code
# 参数2 解析方式
复制代码
pyquery
语法和jquery一致,方便
pip install pyquery
from pyquery import PyQuery as pq
doc = pq("<html>Hello</html>")
r = doc('html').text()
复制代码
pymysql
pymongo
nosql key-value存储
import pymongo
client = pymongo.MongoClient("localhost")
db = client["testdb"]
db['collection'].insert({"name": "jack"})
复制代码
redis
分布式爬虫,维护爬取队列
高效
import redis
r = redis.Redis('localhost', 6379)
r.set('name', 'Bob')
r.get('name')
复制代码
flask
django
bottle
jupyter