python爬虫 requests.get访问不到网页,用fiddle抓包看到其访问方式是post

本文介绍如何利用Fiddler工具抓取网页请求数据,并通过Python的Requests库进行POST请求。重点讲解了如何从Fiddler中获取请求头信息及请求参数,包括user-agent、refer等关键字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于这个问题,用fiddle抓包看下他的访问网页方式,如下图可以看到,

可以使用requests.post(url,self.data=XXXX,headers=self.header),

self.header看到fiddle中request请求中所需要的信息,一般只需要个user-agent,有时候也需要refer,self.header定义为字典类型。

self.data为post提交所需要得,为字典类型,看第二张图,左边为key,右边为value。如self.datap[type]='0',注意找到每个类型得网页得self.data共性。减少每次都要重新定义self.data和self.header

Python爬虫中,如果你使用`requests`库访问网页并且发现后续请求的数据并不完整,这通常是因为浏览器会有一些机制(如缓存、Cookie、session管理等)来优化性能,导致`requests`默认的行为并未模拟完整的浏览器行为。 为了解决这个问题,你可以尝试以下几个步骤: 1. **禁用或清除浏览器缓存**:有些网站会对特定用户设置缓存策略,使得每次请求返回的是已存储的数据而不是实时更新的内容。在`requests`中,虽然没有直接设置禁止缓存的功能,但可以指定发送`Cache-Control`头部为`no-cache`,或者让程序每次运行都从头开始抓取。 ```python import requests response = requests.get('http://example.com', headers={'Cache-Control': 'no-cache'}) ``` 2. **处理cookies**:某些网站会通过cookies保持用户状态,需要在请求中带上cookie信息。可以使用`requests.cookies.RequestsCookieJar`来管理cookies。 ```python jar = requests.cookies.RequestsCookieJar() # 如果有已经获取到的cookie,这里添加 jar.set('your_cookie_key', 'your_cookie_value') response = requests.get('http://example.com', cookies=jar) ``` 3. **模拟浏览器**:可以使用`Session`对象,它会维护连接状态并自动处理cookies。创建一个新的`Session`实例,并在其中发送请求。 ```python session = requests.Session() response = session.get('http://example.com') ``` 4. **设置User-Agent**:有些网站会检查User-Agent来识别是否为爬虫,设置合理的User-Agent可以帮助你避免被封IP。 ```python headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get('http://example.com', headers=headers) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值