04.url传参

文章介绍了在进行频繁访问服务器时,如何通过改变User-Agent来防止被识别为爬虫。方法一是建立User-Agent池,每次请求随机选取一个User-Agent;方法三是使用第三方库fake_useragent,它能自动生成随机的User-Agent字符串。这样可以增加请求的多样性,降低被服务器标记为异常的风险。

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

4.1 url传参的目的

需要短时间内连续访问同一个服务器很多次这样一个需求
headers_ = {“User-Agent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36”}
在服务器端会有记录
同一个User-Agent 3s 上百次 非正常用户行为 以此来判断你是一个爬虫程序

4.2 方法一:User-Agent 池

可以理解成是一个列表 很多的Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36
100次请求
每一次请求,都从User-Agent池里面随机拿一个身份 张三 李四 五二 赵六

import requests
# 简单演示如何使用
import random
# 1.使用列表,里面存放很多的User-Agent的值
user_agent_list = [
    'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11',
    'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.12',
    'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.13',
    'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.14',
    'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.15',
]

# 获取一个随机整数,作为列表的索引值
num = random.randint(0,4)    # 前后都包,04都有可能取到

# 打印获取到的索引
# print(num)
#
# 打印随机 选取的user-agent
# print(user_agent_list[num])
# print('*'*80)
# if __name__ == '__main__':
#     url_ = 'https://www.baidu.com'
#
#     headers_ = {
#         'User-Agent':user_agent_list[num]
#     }
#
#     # 每次请求,都携带上随机的User-Agent
#     response_ = requests.get(url_,headers=headers_)
#
#     # 打印百度服务器端检测到我们用的用户代理身份
#     print(response_.request.headers)
#

4.3 方法三:使用第三方库fake_useragent

pip install fake-useragent -i https://pypi.doubanio.com/simple

from fake_useragent import FakeUserAgent
import requests
user_agent_demo = FakeUserAgent().random   # 这个random不需要导入

print(user_agent_demo)
print('*'*80)

if __name__ == '__main__':
    url_ = 'https://www.baidu.com'

    headers_ = {
        'User-Agent':user_agent_demo
    }

    # 每次请求,都携带上随机的User-Agent
    response_ = requests.get(url_,headers=headers_)

    # 打印百度服务器端检测到我们用的用户代理身份
    print(response_.request.headers)

若调用失败:

终极方法:
ctrl点击FakeUserAgent进入源码 > ctrl点击settings进入源码 > 第16 CACHE_SERVER 这里有一个https,把s去掉
如果有弹窗,点击OK > 再把s去掉:CACHE_SERVER = ‘http://fake-useragent.herokuapp.com/browsers/{version}’
多运行几遍

window.location.href传参是一种在URL上拼接参数值进行传递的方法。可以直接使用window.location.href进行页面跳转,并在URL上通过问号传参的方式传递参数值。例如,使用window.location.href = "./punch/clock_frm.html?modFlag=" + modFlag + '&role=' + role; 可以将modFlag和role的值传递给目标页面。\[1\] 另外,还可以使用问号在URL上拼接参数值进行传递。例如,使用window.location.href = "/static/test.html?type=" + this.selected + '&value=' + val; 可以将this.selected和val的值传递给目标页面。\[2\] 需要注意的是,为了避免传递的参数值中包含特殊字符导致URL错误,可以使用encodeURI()函数对参数值进行编码。例如,使用window.location.href = encodeURI("这里是你要跳转的地址?id=" + id); 可以将id的值传递给目标页面。\[3\] #### 引用[.reference_title] - *1* [转载--window.location.href传参/传值汇总](https://blog.csdn.net/weixin_47382065/article/details/120264692)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [window.location.href跳转页面并传值及接收值](https://blog.csdn.net/qq_42969135/article/details/109360734)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [jq使用window.location.href传参和接收参数](https://blog.csdn.net/lucky_Lzx/article/details/107519438)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

<REAL>和光同尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值