Python 网络爬虫:requests

requests库的安装

pip install requests

requests库的使用方法

r=requests.get(url,params=None,**kwargs)

url:页面的url链接

params:url中的额外参数,字典或字节流

**kwargs:其他12个参数


requests 的相关操作

r.status_code

检查返回的Response对象的状态

200:正常

r.encoding

从header中猜测编码

r.apparent_encoding

从内容分析编码(备选编码)

r.text

显示爬取内容

kv={"User-Agent": "Mozilla/5.0"}
r=requests.get(url,headers=kv)

隐藏浏览器

kv={"wd": "饮水楞伽"}
r=requests.get("http://baidu.com/s",params=kv)

url后加字符串


相关示例

  • 简单爬取网页

    import requests
    
    def urlGet(url):
        try:
            kv={"User-Agent": "Mozilla/5.0"}        #隐藏浏览器
            r=requests.get(url,headers=kv)
            r.raise_for_status()
            #r.encoding=r.apparent_encoding
            return r.text[:1000]
        except:
            return "出现异常"
    print(urlGet("https://lengqie.live"))
  • 搜索引擎关键字

    import requests
    def Baidu(word):
        try:
            keys={"wd":word}
            r=requests.get("http://baidu.com/s?",params=keys)
            r.raise_for_status()
            #r.encoding=r.apparent_encoding
            return r.url
        except:
            return "出现错误"
    
    #word=input()
    for i in range(100,999):
        print(Baidu(i))
  • 下载图片

    import requests
    import os
    url = "http://img.vnos.cn/2019/09/05/5d710c1f1a111.jpg"
    root ="D://"
    path =root + url.split("/n")[-1]
    try:
        if not os.path.exists(root):
            os.mkdir(root)
        if not os.path.exists(path):
            r = requests.get(url)
            with open(path,"wb") as f:
                f.write(r.content)
                f.close()
                print("保存成功!")
        else:
            print("文件已存在!")
    except:
        print("爬取失败!")
  • IP查询

    import requests
    url = "http://www.ip138.com/ips138.asp?ip="
    try:
        r = requests.get(url + "114.114.114.114")
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        print(r.text[:1000])
    except:
        print(url)
        print("爬取失败!")
文章目录