爬虫简单的说就是模拟http请求获取服务器返回的数据。
I请求
python爬虫 可以用到requests 库来模拟http请求。
请求主要包含三部分:
- 请求方式:get (参数体现在请求的url中) post(参数需要构造请求体,formdata的形式,一般用于登录保护请求参数)
- 请求头:cookie(用于维持登录)header/User-Agent (浏览器信息)
- 请求体:form data (请求带的参数)
python爬虫如果遇到Ajax请求或者客户端JavaScript 渲染则可以使用selenium自动化测试工具模拟浏览器进行爬取,缺点是速度慢。还可以通过调试模式,控制正在运行的浏览器。
II. 解析
通过以上两种方式获得网页源代码,之后需要用解析库来提取数据。
解析库工具有:BeautifulSoup, PyQuery, 正则表达式等。而selenium本身则可以通过CSS选择器或者XPATH等方式解析网页数据。
III存储
存储数据的方式可以最简单的EXCEL,用 openpyxl库操作存储数据。
也可以用mongoDB, 可视化客户端:Robomongo
Redis: 可视化工具:Redis desktop Manager
Mysql
IV 爬虫框架:
SCRAPY: 大型分布式爬虫必备框架
Pyspider: 简单带有web的可视化爬虫框架
V web服务器库:Flask, Django.








简单的一笔带过python爬虫的这些内容,如果要深入的学习,还需一一攻破。
网友评论