《python 网络爬虫从入门到实践》笔记
2018-10-08 本文已影响0人
L湖畔老人
一. 爬虫的流程
![](https://img.haomeiwen.com/i8647519/ffb414baccd59ea2.png)
- requests库 (上手拿它和url lib都可以)
传递url参数时 可以将参数保存到字典中,用params构建至url
requests.get(url,params=dict)
除了get外,有时需要发送一些便码为表单形式的数据,在登陆的时候请求就为post,如果用get,密码会显示在url中,很不安全
r=requests.post(url,data=dict)
-bs4
soup.find(“h1”,class_=“”).text.strip()
-动态网页
打开网页检查功能,选择network,刷新网页, 此时network中会显示浏览器从网页服务器得到的所有文件,这个过程一般称为抓包。
一般数据以json文件格式获取,单击network中的xhr选项,可以找到真正的文件
import json
json_data=json.loadI(r.text)
c_list=json_data[""] #这是一个列表
-selenium
data=driver.find_element_by_css_selector("div.bdy-inner")
这里bdy-inner 是class的值
也推荐selenium中xpath
-selenium高级操作
使用selenium和使用浏览器的检查方法爬取动态网页相比,因为selenium要在整个网页加载出来后才开始爬取内容,速度往往比较慢
因此在实际使用中,如果使用浏览器的检车功能进行网页的逆向工程不是很复杂,就最好使用浏览器的检查功能,不过也有一些方法可以加快selenium的速度:
①控制 css 的加载
②控制图片文件的显示
③控制 JavaScript 的运行