- 爬虫原理
- 网络连接:计算机一次Request请求和服务器端的Response回应,即实现了网络连接。
- 爬虫原理:(1)模拟计算机对服务器发起的Request请求;(2)接收服务器端的Response内容并解析,提取所需的信息。有多页面爬虫和跨页面爬虫。
- 网页构造:安装和使用和chrome浏览器;
- 安装需要的第三方库:Requests,BeautifulSoup,Lxml;
- Requests库:让HTTP服务人类;作用就是请求网站获取网页数据的;
- 有时爬虫需要加入请求头来伪装成浏览器,以便更好地抓取数据;
- 步骤:在chrome浏览器中打开开发者工具,点击network,按f5刷新网页,点击name里的任意文件,找到User-Agent进行复制;
- BeautifulSoup库:用来解析Requests库请求的网页,并把网页源代码解析为Soup文档,以便过滤提取数据。
- BeautifulSoup库除了支持python标准库中的HTML解析器外,还支持一些第三方的解析器;BeautifulSoup库解析器有:python标准库,lxml HTML解析器,Lxml XML解析器,html5lib解析器;
- BeautifulSoup库在python标准库中的使用方法:BeautifulSoup(makeup,"html.parser")
- BeautifulSoup库在lxml HTML解析器中的使用方法:BeautifulSoup(makeup,"lxml") (官方推荐,速度快,文档容错能力强)
- 解析得到的Soup文档可以使用find()和find_all()方法及selector()方法定位需要的元素;
- selector()方法:soup.selector(div.item > a >h1) 括号内容通过chrome复制得到;
- 注意:li:nth-child(1)在python中运行会报错,需改为li:nth-of-type(1);
- 打印数据时,若提取的信息包含标签,可以用get_text()方法获得中间的文字信息;
- Lxml库:基于libxml2这一个XML解析库的python封装。该模块使用c语言编写,解析速度比BeautifulSoup库更快。
posted @
2019-02-15 22:48
瞧七
阅读(
379)
评论()
编辑
收藏
举报