爬虫学习总结一

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

一、 爬虫是什么?

其实就是通过程序去获取web页面上自己想要的数据,也就是自动抓取数据。

二、爬虫步骤

1.导包

在这里插入图片描述
from bs4 import beautifulSoup
若出现import requests 报错问题则说明没有安装下载第三方的requests库。解决办法:cmd中输入pip install requests进行安装。当然也可以用python自带的urllib以及urllib2等库,那么导入的则是import urllib2。
from bs4 import beautifulSoup
则是利用beautifulsSoup解析数据,pip install bs4 进行安装。若使用xpath语法进行数据解析。则需要安装第三方解析工具lxml。pip install lxml .那么导入的则是from lxml import etree

2.发起请求

1.创建URL类对象

(统一资源定位符)url="所要爬取页面的地址"

2.向url发送request请求

response =requests.get(url)
print (response)

3.发送请求中的常见问题

1.如果在print (response)返回的是的200则表示响应成功,如果是203,403等等则代表响应未成功。原因:网页的反爬虫机制, 将会识别为机器所为,不是真实的人在操作。解决方法:添加请求头headers。headers的获取方法:查看网页代码——Network——ctrl+r。headers为一个字典类型。并不是爬取所有网站都需headers。但最好都加上。
在这里插入图片描述
所以写法为:response=requests.get(url,headers=headers)response)
2.出现乱码情况:get_response.text得到的是str数据类型。可能会出现乱码情况。可以使用get_response.content得到的是Bytes类型,同时需要使用“utf-8”万国码进行解码。
response =requests.get(url,headers=headers)
html=response.content.decode("utf-8")在这里插入图片描述

3.解析内容

直接处理
Json解析
正则表达式处理 (有点复杂)
BeautifulSoup解析处理 (常用)
PyQuery解析处理
XPath解析处理 (常用)
其中Beautiful Soup:是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree)

在这里插入图片描述

4.保存数据

1.抓取单页数据

生成一个csv文件(csv纯文本形式存储表格数据),可在excel打开。
在这里插入图片描述

2.抓取多页数据

因为每个页面地址有变化,但是可以发现有一定的规律,比如说:
第二网页地址:https://sh.lianjia.com/ershoufang/pg2/
第三网页地址:https://sh.lianjia.com/ershoufang/pg3/
第四网页地址:https://sh.lianjia.com/ershoufang/pg4/
所以可以for循环执行爬取100页数据
base_url = ‘https://sh.lianjia.com/ershoufang/pg{}/’
每个页面url =base_url.format(i)
在这里插入图片描述
此时是默认每个页面的headers是相同的,但是爬取有些网站的时候。因为存在有反爬虫机制,可能使每个页面的headers不一样,导致只能爬取一部分数据。


三.代码及效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45263539/article/details/108872351