Python爬虫学习笔记之requests库实战(与嵩天老师课程同步)

总结:

1.模拟浏览器访问

一些被爬取的网站在收到get请求时会检查get头部信息,默认python会设为requests库,当网站检测到这个请求是一个爬虫的时候,就会拒绝此次响应。

解决方法:

我们可以使用requests.get()的可选参数headers,将我们的请求头部模拟成一个真实的浏览器。(由于很多浏览器请求头都是mozilla/5.0)所以我们就模拟这个。

·构造一个字典

kv = {‘user-agent’:’Mozilla/5.0’}
url = "https://www.icourse163.org/learn/BIT-1001870001?tid=1001962001#/learn/content?type=detail&id=1002627079&cid=1003044729"
r = requests.get(url,headers = kv)

由于我们将header部分的user-agent部分修改成了mozilla/5.0(一种标准浏览器请求)

服务器就会认为这是一个“人”的行为从而返回正确的信息。

2.百度/360搜索关键词提交

百度关键词接口:http://www.baidu.com/s?wd=keyword

360的关键词接口:http://www.so.com/s?q=keyworld

百度360都开放了搜索关键词提交接口,我们在爬虫中就可以利用这些接口模拟一次对搜索引擎的一次关键词查询。

解决方法:

我们使用requests库的get方法中的可选参数params来动态构造url实现对搜索引擎的查询

·构造一个字典

·使用get方法,并设置params参数

Kv = {‘wd’:’keywords’}

r = requests.get(url,params = kv)

其中keywords为搜索关键词

3.网络图片的爬取和储存

网络图片在服务以二进制的形式保存在服务器上,我们要先在本地打开一个文件,然后将爬取到的二进制文件写入本地文件(使用的requests.content()方法)再保存就完成了图片的爬取

解决方法:

·选择保存路径

·利用requests库打开一个图片文件

·打开本地文件

·写入二进制数据(requests.content()方法)

·关闭流

Path = “d://abc.jpg”

r = requests.get(“url”)

r.raise_for_status

with open(path,’wb’) as f:

f.write(r.content)

f.close()


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值