1. 程式人生 > >Python問題-requests庫爬蟲報403

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:

解決了。

**因為上週末醫院的不爽之旅,第一次體會到醫生與患者間高度資訊不對等,也開始理解總會爆發的醫患關係。

當然我還是尊重醫生的,只是覺的後面跟醫生交流時,應該增加自己對病理的瞭解,提高與醫生交流時資訊平等。**

**爬蟲小白準備自己寫一段爬取線上醫療諮詢平臺患者諮詢案例,用於輔助對病理的理解。**