给你说了名字别只写13个字 2021-07-24 10:18 采纳率: 100%
浏览 41
已结题

在命令行里使用python requests.get命令没有事,写成python程序就被识别成机器人了为什么?

在命令行里直接get就能获取信息,写成下面的程序就要人机验证了,这是为什么?


import requests
keyword = "Python"
try:
    kv = {'wd': keyword}
    kv2 = {'user-agent': 'Mozilla/5.0'}
    r = requests.get("http://www.baidu.com/s", params=kv, headers=kv2)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text)
except:
    print("爬取失败")
  • 写回答

2条回答 默认 最新

  • CSDN专家-HGJ 2021-07-24 13:23
    关注

    需要添加Accept和Referer内容到headers,写成如下试试:kv2 = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9', 'Referer': 'http://www.baidu.com/s'}

    如有帮助,请点击采纳按钮。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月1日
  • 已采纳回答 7月24日
  • 创建了问题 7月24日

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘