- 安装requests库
pip install requests
orpip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
image.png
Request Demo 2-1 搜狗搜索喜欢的人名资料
import requests query = input("请输入你喜欢的人名:") url = f"https://www.sogou.com/web?query={query}" headers = { "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36", } resp = requests.get(url,headers=headers) print(resp.text)
Request Demo 2-2 使用百度翻译
\u
表示十六进制
使用json()
可将十六进制转化为字符
import requests url = "https://fanyi.baidu.com/sug" word = input("请输入你想翻译的单词:") dat = { "kw": word } resp = requests.post(url,data=dat) if resp.status_code == 200: print(resp.json())
执行结果:
image.png
Request Demo 2-3 查看豆瓣分类排行榜
之前在python爬虫-Day01里说过客户端渲染
,也就是会把网页和数据相分离发送给浏览器,浏览器再将两者结合进行渲染,一般第一次服务器会发送一个网页框架,第二次会发送数据文件,这里在谷歌里面有一个筛选机制可以将第二次发送的文件直接筛选出来提高效率,一般是AJAX请求的数据
All.png
XHR.png
查看的URL如下:
url = "https://movie.douban.com/j/chart/top_list?type=24&interval_id=100%3A90&action=&start=0&limit=20"
但是我们会发现这个链接里跟了问号,后面含有一连串的参数,其实这个参数呢经过浏览器封装可以形成一个字典,然后自动拼接,如下所示:
url = "https://movie.douban.com/j/chart/top_list" params = { "type": "24", "interval_id": "100:90", "action": "", "start": 0, "limit": 20 }
源代码如下:
import requests # url = "https://movie.douban.com/j/chart/top_list?type=24&interval_id=100%3A90&action=&start=0&limit=20" url = "https://movie.douban.com/j/chart/top_list" params = { "type": "24", "interval_id": "100:90", "action": "", "start": 0, "limit": 20 } headers = { "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36" } res = requests.get(url=url,params=params,headers=headers) print(res.json())
运行结果如下:
image.png
注意
# 关闭res,防止因为请求次数过多而出错 res.close()