Python問題-requests庫爬蟲報403
阿新 • • 發佈:2018-12-30
一:一般的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:
解決了。
**因為上週末醫院的不爽之旅,第一次體會到醫生與患者間高度資訊不對等,也開始理解總會爆發的醫患關係。
當然我還是尊重醫生的,只是覺的後面跟醫生交流時,應該增加自己對病理的瞭解,提高與醫生交流時資訊平等。**
**爬蟲小白準備自己寫一段爬取線上醫療諮詢平臺患者諮詢案例,用於輔助對病理的理解。**