Erlo

python爬虫实例:如何快速响应服务器?

2020-11-24 15:30:29 发布   218 浏览  
页面报错/反馈
收藏 点赞

不论是打开网页或者爬取一些资料的时候,我们想要的是计算机能在最短的时间内运行出结果,不然等待的时间过长会影响下一步工作的计划。这时候我们可以给计算机一个指令,限制最久能等待的时间,在我们能接受的时间内运行出结果。那么这个指令方法是什么呢?接下来我们一起看看吧。


requests之所以称为“HTTP for human”,因为其封装层次很高,其中一处体现就在:requests会自动处理服务器响应的重定向。我在做搜狗微信公众号抓取的时候,搜狗搜索列表页面的公众号文章地址,其实不是微信的地址而需要请求到搜狗到服务器做重定向,而requests的默认处理则是将整个过程全部搞定,对此可以这样:

In [1]: r = requests.get('http://xlzd.me', allow_redirects=False)

allow_redirects参数为False则表示不会主动重定向。

 

另外,有时候对方网站的响应时间太长了,我们希望在指定时间内完事,或者直接停止这个请求,这时候的做法是:

In [1]: r = requests.get('http://xlzd.me', timeout=3)

timeout表示这次请求最长我最长只等待多少秒

 

拓展:

requests套上一层代理的做法也非常简单:

import requests
 
proxies = {
  "http": "http://192.168.31.1:3128",
  "https": "http://10.10.1.10:1080",
}
 
requests.get("http://xlzd.me", proxies=proxies)


下次小伙伴们就不要进行无聊的等待收集数据的过程了,只需一个小小的指令就可以让电脑运行快一点,我们也可以空余去时间去处理更多重要的事情。更多Python学习指路:JQ教程网Python大全


您可能感兴趣的文章:

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认