初学爬虫(二):爬取静态网页之(3)自定义requests——设置传递URL(网络地址)参数and自定义请求头(怎么找+怎么做)

news/2024/7/19 9:50:13 标签: python, 爬虫

在初学爬虫(二):爬取静态网页之(2)获取网页响应内容——requests.get()函数中讲解了如何使用requests函数获取网页响应内容。
但是,有些网页不能如上直接被获取,而是需要对requests中的参数进行设置才能获取需要的数据。

1、设置传递URL(网络地址)参数

如果需要请求获取特定的数据,就需要在URL(网络地址)的查询字符串中加入一些数据来实现。
在requests中,直接使用params参数就可以实现设置URL参数:

python">import requests

key_dict = {'k1': 'v1', 'k2': 'v2'} #创建一个字典
r = requests.get('http://httpbin.org/get', params=key_dict) #用params参数将字典内容构建到URL中
print ("设置URL参数后的网址:", r.url)
print ("设置URL参数后的网址的内容: \n", r.text)

在这里插入图片描述
原网址http://httpbin.org/get内容:
在这里插入图片描述
设置URL参数后的网址http://httpbin.org/get?k1=v1&k2=v2内容:
在这里插入图片描述
可以发现我们设置的参数内容已经加进了网页的内容中。

2、自定义请求头

(1)怎么找请求头?

以找谷歌浏览器的请求头为例:

进入谷歌浏览器在页面右键 > 检查 > 选择network
在这里插入图片描述
在name栏中任意选择一项
例如我这里选择第一项:
在这里插入图片描述在新出现的菜单栏中选择headers > request headers
在这里插入图片描述
滑到最下面出现的user-agent即为谷歌浏览器的请求头
在这里插入图片描述
查看其它浏览器的请求头与上述方法相似!!!

(2)自定义请求头

python">import requests #导入requests库

#更改请求头
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36',#伪装为谷歌浏览器

#使用requests.get()函数获取指定网页的内容,返回的是一个response相应对象(里面存储了服务器相应的内容)
r = requests.get('https://www.csdn.net/', headers=headers) #获取目标网页内容

print("服务器内容使用的文本编码:",r.encoding)
print("状态响应码:",r.status_code)#返回200,表示请求成功;返回4xx,表示客户端错误;返回5xx,表示服务器错误响应。
print("服务器响应的内容:\n",r.text)
}

在这里插入图片描述
由上图可知我们成功的爬取了目标网页的内容。


http://www.niftyadmin.cn/n/948542.html

相关文章

初学爬虫(二):爬取静态网页之(3)自定义requests——发送POST请求and超时处理

1、发送POST请求 从前面初学爬虫(二):爬取静态网页之(3)自定义requests——设置传递URL(网络地址)参数and自定义请求头(怎么找怎么做)中已经讲解过通过get函数设置传递U…

初学数据挖掘——数据探索(六):数据特征分析之相关性分析

相关性分析即分析连续变量之间线性相关程度的强弱,并用合适的统计量或统计图表示出来的过程。 如现在想要分析得到不同菜品之间的相关关系,则可以通过分析这些菜品日销售量之间的相关性来得到。 代码如下: #导入相关包 from __future__ im…

初学爬虫(二):爬取静态网页之(4)使用requests库进行爬虫实践——获取豆瓣电影TOP250的电影名字全过程详解

本实践目的是获取豆瓣电影TOP250的所有电影的名称。 豆瓣电影TOP250网页链接:https://movie.douban.com/top250 1、分析网站 (1)提取请求头 这里以提取谷歌请求头为例: ①双击打开谷歌: ②在页面任意位置单击右键…

初学爬虫(三):使用selenium模拟浏览器抓取动态网页之(1)安装selenium库and对selenium库的基本使用

1、安装selenium库 直接使用最简单的pip命令安装: pip install selenium2、selenium库的基本使用 (1)下载geckodriver(Firefox)/chromedriver(Google chrome) 下面以下载geckodriver为例(读者电脑上若还未安装Firefox火狐浏览…

geckodriver的下载、安装与配置

1、下载geckodriver压缩包 链接:https://pan.baidu.com/s/1u8_lFbCWSc3Bux2Win0v-Q 提取码:2677 下载好后的geckodriver压缩包: 2、解压geckodriver 将1中下载好的geckodriver压缩包解压得到exe文件: 3、将2中得到的exe文件…

将新建的虚拟环境导入到jupyter notebook中

1、新建虚拟环境 见博客: python创建虚拟环境(一):使用conda创建虚拟环境 python创建虚拟环境(二):使用终端命令创建虚拟环境 python创建虚拟环境(三):用pyc…

jupyter notebook 使用新环境无法连接,终端报错[W 20:14:43.988 NotebookApp] KernelRestarter: restart failed

jupyter notebook 显示无法连接(无法运行程序): 终端报错: 解决方法如下: 1、在cmd终端输入以下命令激活需要使用的环境: activate 环境名我在这里输入: activate tensorflow1.0可以发现…

tensorflow1.15.0(1.x最新版本)and tensorflow1.15.0-gpu下载与安装详细过程

一、创建虚拟环境 见博客: python创建虚拟环境(一):使用conda创建虚拟环境 python创建虚拟环境(二):使用终端命令创建虚拟环境 python创建虚拟环境(三):用py…