使用requests爬取url带参数的网页源码,报“网络不给力,请稍后重试”错误的解决方法

使用requests爬取url带参数的网页源码,报“网络不给力,请稍后重试”错误的解决方法

原因:headers中添加了User-Agent
解决:登录百度账号刷新网页,再在headers中额外添加cookie信息

以爬取周杰伦百度搜索网页为例:
在这里插入图片描述

import requests
url = 'https://www.baidu.com/s?'    #注意url参数通过data传递,也无需urlencode()编码
#headers中要添加登录账号之后的cookie,否则会反爬,报网络不给力的错
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36',
    'Cookie' : '...'          #此处的cookie我省略了,你们记得加上
}
data = {
    'wd':'周杰伦'
}
response = requests.get(url = url ,params = data,headers = headers)
response.encoding='utf-8'
content = response.text
print(content)

运行结果(打印输出网页源码):
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Python读取网页时返回"网络不给力稍后重试"可能是网络连接不稳定,或者目标网站的服务器有问题导致无法正常访问。 要解决这个问题,可以尝试以下几种方法: 1. 检查网络连接:确保你的网络连接正常,可以尝试重新启动路由器或者连接其他网络来确认问题是否在本地网络上。 2. 增加重试机制:使用Python的try-except语句来包裹读取网页的代码,在捕捉到网络错误时,添加一段等待时间后重新尝试访问网页,可以使用time.sleep()函数来设置等待时间。 ```python import requests import time url = "http://example.com" def get_webpage(url): try: response = requests.get(url) # 处理网页内容 return response.text except requests.exceptions.RequestException as e: print("网络错误:", e) print("等待5秒后重试...") time.sleep(5) return get_webpage(url) webpage = get_webpage(url) print(webpage) ``` 3. 更换代理服务器:如果目标网站对IP地址有限制或者封禁,可以使用代理服务器来访问网页。可以使用第三方库如 `requests` 中的 `proxies` 参数来设置代理服务器。 ```python import requests url = "http://example.com" proxy = { 'http': 'http://your_proxy_server_ip:port', 'https': 'http://your_proxy_server_ip:port' } try: response = requests.get(url, proxies=proxy) # 处理网页内容 print(response.text) except requests.exceptions.RequestException as e: print("网络错误:", e) ``` 4. 等待一段时间后重试:如果这个问题只是暂时性的,可以在出错后等待一段时间再重新尝试访问网页。 ```python import requests import time url = "http://example.com" def get_webpage(url): while True: try: response = requests.get(url) # 处理网页内容 return response.text except requests.exceptions.RequestException as e: print("网络错误:", e) print("等待30秒后重试...") time.sleep(30) webpage = get_webpage(url) print(webpage) ``` 希望以上方法能够帮助你解决Python读取网页时返回"网络不给力稍后重试"的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值