找回密码
 中文实名注册
查看: 245|回复: 0

Python Requests库安装和使用

[复制链接]

697

主题

1085

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
22883
发表于 2022-5-2 13:10:03 | 显示全部楼层 |阅读模式



Requests 库是在 urllib 的基础上开发而来,它使用 Python 语言编写,并且采用了 Apache2 Licensed(一种开源协议)的 HTTP 库。与 urllib 相比,Requests 更加方便、快捷,因此在编写爬虫程序时 Requests 库使用较多。

pip3 install requests

常用请求方法1) requests.get()该方法用于 GET 请求,表示向网站发起请求,获取页面响应对象。语法如下:
res = requests.get(url,headers=headers,params,timeout)参数说明如下:
  • url:要抓取的 url 地址。
  • headers:用于包装请求头信息。
  • params:请求时携带的查询字符串参数。
  • timeout:超时时间,超过时间会抛出异常。

属性功能例子
Response.status_code检查请求是否成功200 代表正常,404 代表网页不存在。
Response.encoding定义编码如果编码不对,网页就会乱码的。
Response.content把数据转成二进制用于获取图片、音频类的数据。
Response.text把数据转为字符串用于获取文本、网页原代码类的数据。


第一个案例
[Python] 纯文本查看 复制代码
#在爬虫中通常使用 Response 对象的 status_code 属性检查请求是否成功。
import requests
url = 'http://baidu.com'
res = requests.get(url)
print(res)
print(res.status_code)  # 查看网页状态,200 表示正常


下载一个小说
[Python] 纯文本查看 复制代码
import requests
# 引入 requests,实现请求
URL = 'http://c.biancheng.net/uploads/course/python_spider/191009.html'
# 输入在浏览器的网址
res = requests.get(URL)
# 发送 GET 方式的请求,并把返回的结果(响应)存储在 res 变量里头
res.encoding = 'utf-8'
# 设置可接收的编码为 utf-8
file = open('《全身在格斗中的作用》.txt', 'a+')
# 创建一个名为《全身在格斗中的作用》的txt文档,指针放在文件末尾,追加内容。(Python 基础语法)
file.write(res.text)
# 将把 Reponse 对象的内容以 [字符串] 的形式写入文件
file.close()
# 关闭文档


下载一张图片
[Python] 纯文本查看 复制代码
import requests
URL = 'https://gss2.bdstatic.com/9fo3dSag_xI4khGkpoWK1HF6hhy/baike/c0%3Dbaike220%2C5%2C5%2C220%2C73/sign=a8ecb87e13dfa9ece9235e4503b99c66/6a600c338744ebf84073be5ddbf9d72a6059a756.jpg'
res = requests.get(URL)
# 发出请求,并把返回的结果放在变量res中
photo = open('Be careful.jpg','wb')
# 新建了一个文件Be careful.jpg,这里的文件没加路径,会被保存在程序运行的当前目录下。
photo.write(res.content)
# 将 Reponse 对象的内容以 [二进制数据] 的形式写入文件
photo.close()
# 关闭文档



批量下载网页
[Python] 纯文本查看 复制代码
#baidu search

import requests

url='http://www.baidu.com/s'
wd=input("请输入搜索内容:")
begin=int(input("请输入起始页:"))
end=int(input("请输入终止页:"))
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36',
'cookie': 'BIDUPSID=5304D4F4F4B54973B63BCAA20F32C4E2; PSTM=1586862649; BAIDUID=E956C2590B676BFD85CF1FCB7733FB59:FG=1; __yjs_duid=1_d709cd6e3103f296ec79c9d447ffdd341620308919594; BDUSS=VyZ3h3eW9IWUNYdElSc25qNFBpdW1sS054Wno2eFB6c25xTFV3QWJsQ1ZleEJoRVFBQUFBJCQAAAAAAAAAAAEAAACR8ImctsU3ODUyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJXu6GCV7uhgQT; BDUSS_BFESS=VyZ3h3eW9IWUNYdElSc25qNFBpdW1sS054Wno2eFB6c25xTFV3QWJsQ1ZleEJoRVFBQUFBJCQAAAAAAAAAAAEAAACR8ImctsU3ODUyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJXu6GCV7uhgQT; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; delPer=0; PSINO=7; __yjs_st=2_MjQ5NzQzNGMyMTNjZTUyN2FmNTU2NTdkMDcwYzY5NTI0OTE1ZDdlNGM0ODdkYzUzOTcwNzllNjJiOTQzNTlkOTI2OGFjM2M5NWMzMWFhMTI2MmU5ZTk3OWZkMTMwOTM0YTRkNzI2ZjIyYTIxZTNiNjJhNzg2NzYwNDZkZjA3OGQxODY0MTQ1NmNjODRkZDIzZGUyYWJlYzY2ZTA2NzE1OTNhYWRhMmM1ZThkMzQ2ZjU0NGMyMmQxZDJjODBjN2E2NTY1NzQyYzgxNDc5OTI5MjM0Yjg5ZTc5YjRiMzMyZjQ1MzdhMzkzMmI3Y2E4OTk4OTk1YzdmMmFkZmYyMDI1M2M1ZDM3NDMzOTJhZTAwMWUwZDdiMTQ5Y2UwMjZjMTliXzdfMzAyOGRkZTc=; ab_sr=1.0.1_MmFmMDZmNTEyMzI4NTA4NjFiZTEyMmI5MTQ5YjBjYmZiZDc2NWMzZTdjMzY0ODAzYTBkYmVkOWQ1NmFlYjVjY2JlOWQwNWZjYzk3NTkzMDg5YjFlNjlmYmM1ZGYzZjJmMmY1MjhmNDFhYTJhY2Y2ZWJlOTgyNGYyZjQyYWYxZjRjNWE1ZjMwNGY4Y2ZmZTU1NjJjNGM5NDQ4NzkyZjA2ZmJhODQyOWY1YjU3NTExN2IyOWVmNTI5YzkzMzI4NGY5; BAIDUID_BFESS=6336DA0D64207FA798DAD5852097C7CC:FG=1; BDRCVFR[n9IS1zhFc9f]=mk3SLVN4HKm; H_PS_PSSID=26350; BA_HECTOR=81ag2ga125ak20a1h01ggpbd70r',
'referer': 'https://www.baidu.com/s?tn=02003390_43_hao_pg&isource=infinity&iname=baidu&itype=web&ie=utf-8&wd=1'
}
for page in range(begin,end+1):
    pn=(page-1)*10
    param = {
        'wd': wd,
        'pn':pn
    }
    response=requests.get(url,params=param,headers=headers)
    file=str(page)+".html"
    with open(file,'w',encoding='utf-8') as fp:
        fp.write(response.text)








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?中文实名注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 中文实名注册

本版积分规则

小黑屋|东台市机器人学会 ( 苏ICP备2021035350号-1;苏ICP备2021035350号-2;苏ICP备2021035350号-3 )

GMT+8, 2024-5-19 23:38 , Processed in 0.045040 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表