Python使用Requests库爬取网页数据
第一步:安装requestsrequests属于第三方模块,python里面没有自带requests库,所以呢第一步我们先要安装。pip install requests先找到终端然后再输入第二步:导包使用requests前出了安装完了,你好要导包啊,不导包怎么使用它呢import requests灰色代表他还没被使用第三步:爬取开始直接爬取百度吧导包-----因为我们是给服务端发送请求,所以我们
第一步:安装requests
requests属于第三方模块,python里面没有自带requests库,所以呢第一步我们先要安装。
pip install requests
先找到终端然后再输入
第二步:导包
使用requests前出了安装完了,你好要导包啊,不导包怎么使用它呢
import requests
灰色代表他还没被使用
第三步:爬取开始
直接爬取百度吧
导包-----因为我们是给服务端发送请求,所以我们要有个变量接收他。
利用get获取网址的数据,然后用print输出网页的数据
这样输出的数据也没提示百度禁止访问,也不确定是不是百度禁止爬取。评论区等大佬教教我。但比较下面修改设置请求头后访问,还是下面的数据看起来比较对。
大家也注意到了,我后面有个headers参数,这是我设置了请求头。因为有很多网站禁止爬取,所以利用设置请求头,设置成一个网站可以访问的请求头来反爬数据。
简单讲讲怎么设置,这篇博客主要目的还是爬取,后面会出一篇设置请求头的文章。
运用python和request爬取百度的请求头
获取输出的请求头
因为我们使用python爬取数据,所以访问网站的用户代理User-Agant就是python
修改后获取输出的请求头
扩展一下:
有人使用postman测试接口
postman也可以转为代码在python运行
打开postman,创建新的请求路径,输入——点击</>,就会出来代码,可以选择各种语言的代码,既然要在python上运行,就选择python
加油加油加油兄弟们,努力学下去
学习补充:
获取状态码:status_code
成功控制台就返回200
请求一个不存在的网址
控制台输出404
获取网页的编码:encoding
这个网址的编码是utf-8
获取消息体字节串内容:content
获取的内容是utf-8的编码,可以对其进行解码
运用decode解码
呈现的内容不比上面顺眼多了
如果想要获取里面单个的值,要对其反序列化,也就是把上面的json格式转换为Python的对象
一定要导入json包,import json,使用json的loads方法对其转换。
根据上面代码,现在获取的数据已经不是json格式就可以获取Host的值,不转换的话也可以获取,但是博主不会也很麻烦。
如果大家觉得这样取值比较麻烦,又简单方法,但是还要转换json。直接对自己的创建的变量使用json方法就可以了。
注意:获取的响应体里的内容必须是json格式,如果不是,就会报错。
更多推荐
所有评论(0)