import requests
r = requests.get(url='http://www.baidu.com') # 最基本的GET请求
print(r.status_code) # 获取返回状态
print(r.apparent_encoding)
r.encoding='utf-8'
print(r.text)
1.先检查status_code的状态码,如果status_code返回200,就说明成功了,如果是404则是访问异常。
2.如果encoding无法直接解析的话,先用apparent_encoding去获取
异常问题:
r.raise_for_status() 如果不是200,产生异常requests.HTTPError 与异常处理有关联
import requests
def getHTMLText(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
except:
return "产生异常"
url="http://wwww.baidu.com"
print(getHTMLText(url))
使用 r.request.headers可以查看爬虫发出的头文件
访问亚马逊商品的时候,被拒绝,这个时候需要改变headers里面的user-agent内容
import requests
def getHTMLText(url):
try:
kv = {'user-agent': 'Mozilla/5.0'}
r=requests.get(url,headers=kv,timeout=30)
print(r.status_code)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
except:
return "产生异常"
url="https://www.amazon.cn/gp/product/B00W2T39C8/ref=cn_ags_s9_asin?pf_rd_p=760fb777-9d82-489f-b45b-f1410bdd7900&pf_rd_s=merchandised-search-3&pf_rd_t=101&pf_rd_i=1403206071&pf_rd_m=A1AJ19PSB66TGU&pf_rd_r=3WKRQRC8AD5QXEEJVK3X&pf_rd_r=3WKRQRC8AD5QXEEJVK3X&pf_rd_p=760fb777-9d82-489f-b45b-f1410bdd7900&ref=cn_ags_s9_asin_1403206071_merchandised-search-3"
print(getHTMLText(url))