代码之家  ›  专栏  ›  技术社区  ›  Jhonny

在收到错误503之前,如何更改输入

  •  0
  • Jhonny  · 技术社区  · 3 年前
    from bs4 import BeautifulSoup as soup
    import pandas as pd
    import requests
    import urllib
    
        
    
    keywords = ['printer','tv','laptop','router','speaker','mobile','printer','tv','laptop','router','speaker','mobile']
    

    当我试图用一个项目列表来搜索一个网站时,我只得到了3个项目的结果,我得到了错误503。如何获得3个项目的结果并将6.1更改为6.2,然后再获得错误以获得3个以上的结果,然后将Win64更改为Win32以获得3个以上的结果,然后将Mozilla更改为chrome并获得3个以上的结果,依此类推。。。

        header = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)' } 
    
    
    0 回复  |  直到 3 年前
        1
  •  2
  •   Xiddoc    3 年前

    轮换的一般方法 User-Agent :

    import requests, random
    
    keywords = ['printer','tv','laptop','router','speaker','mobile','printer','tv','laptop','router','speaker','mobile']
    user_agents = [
      'Mozilla/5.0',
      'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0',
      'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36',
      'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0',
      'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'
    ]
    
    for k in keywords:
    
        user_agent = random.choice(user_agents)
    
        headers = {'User-Agent': user_agent}
    
        requests.get('<YOUR URL>', headers=headers)
    

    请注意,亚马逊不喜欢这种对其页面的自动访问,并能很快识别访问模式。当然,使用官方API更好。