按照网络爬虫的的思路:
一、页面下载器
requests(必学)
python爬虫入门requests模块
Python爬虫:requests库基本使用
Python爬虫:使用requests库下载大文件
Python爬虫:requests多进程爬取猫眼电影榜单
requests InsecureRequestWarning: Unverified HTTPS request is being made.
scrapy
Python网络爬虫之scrapy框架
scrapy学习
Python爬虫:关于scrapy模块的请求头
Python爬虫:scrapy框架请求参数meta、headers、cookies一探究竟
Python爬虫:scrapy辅助功能实用函数
selenium+chrome + PhantomJS(抓取动态网页,不推荐)
mac下安装selenium+phantomjs+chromedriver
Python爬虫:selenium模块基本使用
Python爬虫selenium模块
Python爬虫:selenium和Chrome无头浏览器抓取烯牛数据动态网页
Python爬虫:利用selenium爬取淘宝商品信息
Python爬虫:selenium使用chrome和PhantomJS实用参数
Splash(抓取动态网页,推荐)
Python爬虫:splash的安装与简单示例
Python爬虫:splash+requests简单示例
Python爬虫:scrapy利用splash爬取动态网页
总结:
对于下载器而言,python自带的urllib就不要花时间去学了,学了就忘,直接requests能满足大部分测试+抓取需求,进阶工程化scrapy,动态网页优先找API接口,如果有简单加密就破解,实在困难就使用splash渲染
二、页面解析器
BeautifulSoup(入门级)
Python爬虫入门BeautifulSoup模块
pyquery (类似jQuery)
Python爬虫:pyquery模块解析网页
lxml
Python爬虫:使用lxml解析网页内容
parsel
Extract text using CSS or XPath selectors
scrapy的Selector (强烈推荐, 比较高级的封装,基于parsel)
选择器(Selectors)
python爬虫:scrapy框架xpath和css选择器语法
总结:
其实解析器学习一个就够了,其他都不用学,很多培训会教你从上到下的学习,我不是很推荐,直接学习scrapy的Selector 就行,简单、直接、高效
三、数据存储
txt文本
Python全栈之路:文件file常用操作
csv文件
python读取写入csv文件
sqlite3 (python自带)
Python编程:使用数据库sqlite3
MySQL
SQL:pymysql模块读写mysql数据
MongoDB
Python编程:mongodb的基本增删改查操作
总结:
数据存储没有什么可深究的,按照业务需求来就行,一般快速测试使用MongoDB,业务使用MySQL
四、其他工具
execjs :执行js
Python爬虫:execjs在python中运行javascript代码
pyv8: 执行js
mac安装pyv8模块-JavaScript翻译成python
html5lib
1. Python爬虫:scrapy利用html5lib解析不规范的html文本
五、关于xpath练习
本人的一个开源项目:PageParser
https://github.com/mouday/PageParser
用于解析网页,最终实现6行代码写爬虫,可以贡献代码,顺便练习网页解析的能力