爬取网页的通用代码框架:
import requests
def getHTMLText(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status()#如果状态不是200,引发HTTPError异常
r.encoding=r.apparent_encoding
return r.text
except:
return"产生异常"
if __name__=="__main__":
url="http://www.baidu.com"
print(getHTMLText(url))
例1、爬取京东某商品页面的信息。
import requests
>>> r=requests.get("https://item.jd.com/21872445778.html")
>>> r.status_code
200
>>> r.encoding
'gbk'
>>> r.text[:1000]
结果:
很多网站对网络爬虫有限制,无非两种限制方法。一:通过ROBOTS协议告知爬虫者哪些东西可以访问,哪些不行。第二种方法比较隐性,通过查看访问者的ATP的头来判断该访问是否由爬虫引起的,网站一般接受的是由游览器引发的或产生的爬虫,而对于爬虫的请求网站是可