Python requests库爬虫实例有哪些多样应用场景?

2026-05-25 01:271阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计773个文字,预计阅读时间需要4分钟。

Python requests库爬虫实例有哪些多样应用场景?

安装requests库及其使用和下载步骤如下:

1. 打开命令行工具(如终端、命令提示符等)。

2.输入以下命令进行安装:

pip install requests

3.安装完成后,可以通过以下方式测试requests库是否安装成功:

import requests print(requests.__version__)

4.使用requests库进行网络请求,以下是一个简单的示例:

response=requests.get('http://www.example.com') print(response.status_code) print(response.text)

5.如需下载文件,可以使用以下代码:

Python requests库爬虫实例有哪些多样应用场景?

response=requests.get('http://example.com/file.zip') if response.status_code==200: with open('file.zip', 'wb') as f: f.write(response.content)

requests安装和使用

  下载安装:pip install requests

#requests模块 import requests #发送请求 content:以二进制的形式获取网页的内容 response=requests.get("www.baidu.com").content.decode() #response=requests.request("get","www.baidu.com").content.decode() print(response)

添加请求头和参数

import requests url="www.baidu.com/s?" headers={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) \ AppleWebKit/537.36 (KHTML, like Gecko) \ Chrome/81.0.4044.138 Safari/537.36" } wd={"wd":"中国"} response=requests.get(url,params=wd,headers=headers) # 返回一个字符串形式的数据 data=response.text # 返回一个二进制形式的数据 data2=response.content print(data2.decode())

处理Post请求

  处理get请求:get()方法

  处理post请求:post()方法

import requests import re #构造请求头信息 header={ "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) \ AppleWebKit/537.36 (KHTML, like Gecko) \ Chrome/81.0.4044.122 Safari/537.36" }#谷歌浏览器 #fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule 网页上的url url="fanyi.youdao.com/translate?smartresult=dict&smartresult=rule" key="靓仔" #发送到web服务器的表单数据 formdata={ "i":key, "from":"AUTO", "to":"AUTO", "smartresult":"dict", "client":"fanyideskweb", "salt":"15880563488791", "sign":"cc2c40d740538fc5edc0380891faef27", "ts":"1588053583943", "bv":"f9c86b1fdf2f53c1fefaef343285247b", "doctype":"json", "version":"2.1", "keyfrom":"fanyi.web", "action":"FY_BY_REALTlME" } response=requests.post(url,headers=header,data=formdata) # 获取到的是json数据 # 对应的是字典 # print(response.json()) pat=r'"tgt":"(.*?)"}]]' #字符串中有"",再用''括起来表示字符串 # 获取到的是字符串 result=re.findall(pat,response.text) print(result[0])

代理IP

import requests #设置ip地址 #proxy={"代理ip地址:端口号"} #可以设置多个 proxy={ "222.82.130.23:8060", "101.248.64.68:80", } response=requests.get("www.baidu.com",proxies=proxy) print(response.content.decode())

获取响应的cookie

  cookie:用户信息

import requests response=requests.get("www.baidu.com") #1.获取返回的cooketjar对象 cookiejar=response.cookies #2.将cookiejar转换成字典 cookiedict=requests.utils.dict_from_cookiejar(cookiejar) print(cookiedict)

session实现登陆

  相比直接使用cookie,创建session可以得到新的cookie信息,不会出现cookie失效的情况

#使用session实现登陆 import requests #构造请求头信息 header={ "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) \ AppleWebKit/537.36 (KHTML, like Gecko) \ Chrome/81.0.4044.122 Safari/537.36" }#谷歌浏览器 #创建session对象 ses=requests.session() #构造登陆需要的参数 data={"email":"325*****@qq.com","password":"123321a"} #通过传递用户名密码得到cookie信息 ses.post("www.renren.com/PLogin.do",data=data,headers=header) #请求需要的页面,每次请求会带入cookie信息 response=ses.get("www.renren.com/880151247/profile") print(response.text)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

本文共计773个文字,预计阅读时间需要4分钟。

Python requests库爬虫实例有哪些多样应用场景?

安装requests库及其使用和下载步骤如下:

1. 打开命令行工具(如终端、命令提示符等)。

2.输入以下命令进行安装:

pip install requests

3.安装完成后,可以通过以下方式测试requests库是否安装成功:

import requests print(requests.__version__)

4.使用requests库进行网络请求,以下是一个简单的示例:

response=requests.get('http://www.example.com') print(response.status_code) print(response.text)

5.如需下载文件,可以使用以下代码:

Python requests库爬虫实例有哪些多样应用场景?

response=requests.get('http://example.com/file.zip') if response.status_code==200: with open('file.zip', 'wb') as f: f.write(response.content)

requests安装和使用

  下载安装:pip install requests

#requests模块 import requests #发送请求 content:以二进制的形式获取网页的内容 response=requests.get("www.baidu.com").content.decode() #response=requests.request("get","www.baidu.com").content.decode() print(response)

添加请求头和参数

import requests url="www.baidu.com/s?" headers={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) \ AppleWebKit/537.36 (KHTML, like Gecko) \ Chrome/81.0.4044.138 Safari/537.36" } wd={"wd":"中国"} response=requests.get(url,params=wd,headers=headers) # 返回一个字符串形式的数据 data=response.text # 返回一个二进制形式的数据 data2=response.content print(data2.decode())

处理Post请求

  处理get请求:get()方法

  处理post请求:post()方法

import requests import re #构造请求头信息 header={ "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) \ AppleWebKit/537.36 (KHTML, like Gecko) \ Chrome/81.0.4044.122 Safari/537.36" }#谷歌浏览器 #fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule 网页上的url url="fanyi.youdao.com/translate?smartresult=dict&smartresult=rule" key="靓仔" #发送到web服务器的表单数据 formdata={ "i":key, "from":"AUTO", "to":"AUTO", "smartresult":"dict", "client":"fanyideskweb", "salt":"15880563488791", "sign":"cc2c40d740538fc5edc0380891faef27", "ts":"1588053583943", "bv":"f9c86b1fdf2f53c1fefaef343285247b", "doctype":"json", "version":"2.1", "keyfrom":"fanyi.web", "action":"FY_BY_REALTlME" } response=requests.post(url,headers=header,data=formdata) # 获取到的是json数据 # 对应的是字典 # print(response.json()) pat=r'"tgt":"(.*?)"}]]' #字符串中有"",再用''括起来表示字符串 # 获取到的是字符串 result=re.findall(pat,response.text) print(result[0])

代理IP

import requests #设置ip地址 #proxy={"代理ip地址:端口号"} #可以设置多个 proxy={ "222.82.130.23:8060", "101.248.64.68:80", } response=requests.get("www.baidu.com",proxies=proxy) print(response.content.decode())

获取响应的cookie

  cookie:用户信息

import requests response=requests.get("www.baidu.com") #1.获取返回的cooketjar对象 cookiejar=response.cookies #2.将cookiejar转换成字典 cookiedict=requests.utils.dict_from_cookiejar(cookiejar) print(cookiedict)

session实现登陆

  相比直接使用cookie,创建session可以得到新的cookie信息,不会出现cookie失效的情况

#使用session实现登陆 import requests #构造请求头信息 header={ "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) \ AppleWebKit/537.36 (KHTML, like Gecko) \ Chrome/81.0.4044.122 Safari/537.36" }#谷歌浏览器 #创建session对象 ses=requests.session() #构造登陆需要的参数 data={"email":"325*****@qq.com","password":"123321a"} #通过传递用户名密码得到cookie信息 ses.post("www.renren.com/PLogin.do",data=data,headers=header) #请求需要的页面,每次请求会带入cookie信息 response=ses.get("www.renren.com/880151247/profile") print(response.text)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。