Python 网络爬虫:requests
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("爬取失败!")