Python问题-requests库爬虫报403

一:一般的requests库

def gethtmltext(url):
    try:
        r = requests.get(url, timeout = 30)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:

之前爬爬taobao.com都是管用的,但这次就异常了。

把 r 输出,报【403】,也就是说服务器拒绝访问了。

也就是说服务器不允许一些客服端的访问,毕竟他们的robots协议也是这么说的:


这种情况下,应该让爬虫模拟成一个浏览器的方式访问就不会被发现啦。

二:增加headers,模拟浏览器访问

即:

def getHtmlList(url):
    try:
        headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
                        'Chrome/51.0.2704.63 Safari/537.36'}
        r = requests.get(url, headers = headers, timeout = 30)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:

解决了。


**因为上周末医院的不爽之旅,第一次体会到医生与患者间高度信息不对等,也开始理解总会爆发的医患关系。

当然我还是尊重医生的,只是觉的后面跟医生交流时,应该增加自己对病理的了解,提高与医生交流时信息平等。**

**爬虫小白准备自己写一段爬取在线医疗咨询平台患者咨询案例,用于辅助对病理的理解。**

猜你喜欢

转载自blog.csdn.net/zenobia119/article/details/79811770