爬虫基本流程:
1) 发起请求:
通过HTTP库向目标站点发起请求,即发送request(请求可以包含额外的headers等信息)等待服务器响应。
2) 获取响应内容:
得到Response,得到的类型可能有HTML,Json字符串,二进制数据(如图片视频)等类型。
3) 解析内容:
对HTML:通过正则表达式,网页解析库
对Json:通过转为Json对象
图片/视频:二进制数据
4)保存数据
以各种形式存到数据库
HTTP Response包含的:
1)状态码:
200:请求成功
300:转其它网址
400:连接出错
500:服务器出错
2)响应头:
内容类型
内容长度
服务器信息
设置Cookie命令
3)响应体
网页HTML
图片
二进制数据
抓取的信息
1) HTML信息,json信息
2)图片/视频:二进制保存
3) 其它
解析方式
1)直接处理(split去空格)
2)Json解析
3)正则表达式
4) BeautifulSoup
5) Pyquery
6) XPath
解决JavaScript渲染的问题
1)分析Ajax请求:
找到数据接口,直接请求json数据并解析。
2)Selenium模拟浏览器
from selenium import webdriver
driver = webdriver.Chrome()
对driver进行操作(对driver.page_source进行操作)