Python-Requests包练习

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))

你可能感兴趣的:(Python-Requests包练习)