小小雨鱼 2023-12-08 21:42 采纳率: 0%
浏览 7

大众点评的数据爬取 每天都在修修改改缝缝补补 还是这样 都不知道怎么解决了。😭😭有人会嘛吗

img


代码用了很多方面反反爬
随机IP池 随机请求头 验证码的处理 模拟人类行为爬等

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-12-09 08:27
    关注

    【相关推荐】



    • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7734128
    • 你也可以参考下这篇文章:【日常】利用代理IP伪装进行多进程爬虫
    • 除此之外, 这篇博客: 数据:快来爬我呀!小白:ip被封了 数据:做个ip代理池吧!这样就可以继续爬我了中的 2.通过爬取的IP代理和自己的IP访问网址的量进行对比 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      上面那个运行完毕之后,会在同一个文件夹下面出现一个ip.txt的文件,上面的可用的ip代理就在这个文件里面,如下:
      在这里插入图片描述
      大家也许会觉得很少,但不要忘记我这里只是爬取了一页西祠代理上面可用的ip,然后,我用这些ip来访问了一下快代理,发现如下:
      在这里插入图片描述
      可以发现,运用这几个ip代理可以访问快代理这个网址到一千多页,如果不用ip代理,或许最多也只能访问一百多页吧!
      代码如下:

      import requests
      
      with open(file='./ip.txt',mode='r',encoding='utf-8') as f:
          str1=f.read()
      
      list1=str1.split('\n')[:-1]
      
      j=0
      for i in range(1,3001):
          try:
              proxies={'https':list1[j]}
              try:
                  response=requests.get(url='https://www.kuaidaili.com/free/inha/{}/'.format(i),proxies=proxies)
                  print(response.url)
                  print(response.status_code)
              except:
                  j+=1
                  print('第{}ip开始'.format(j))
          except:
              print('所有代理已经全部使用!')
              break
      

      不用ip代理运行结果:
      在这里插入图片描述
      在访问这个网址时,发现如下,无论我怎样刷新都是这样,或许是ip被封了吧!
      在这里插入图片描述


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 12月8日