爬虫遭遇状态码521的方法

在爬66ip代理的时候,发现一直返回的是521,在CSDN看了很多大神的解决方法,感觉很厉害(膜拜一下),也挺麻烦的,我自己试了selenium就成功了,而且也挺快的,简单代码如下:

# 设置无界面
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')

url ='http://www.66ip.cn/1.html'
driver = webdriver.Chrome(options=chrome_options)
driver.get(url)
time.sleep(2)

tr_list = driver.find_elements_by_xpath('//div[@class="containerbox boxindex"]/div/table/tbody/tr')  # 这里的tbody不用省略...

for tr in tr_list[1:]:
    ip = tr.find_element_by_xpath('./td[1]').text
    port = tr.find_element_by_xpath('./td[2]').text
    proxy = "http://" + ip + ":" + port
    print(proxy)

注意的是,这里的tbody也是一个坑,之前爬取遇到tbody都会省略,在这里却是不用的,花了我些时间发现了这个问题,果然经验还是太少了…

你可能感兴趣的:(爬虫遭遇状态码521的方法)