selenium+webdriver使用署理ip无法访问网站(已办理)

[复制链接]
发表于 2026-1-26 18:45:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
题目:编写爬虫时,使用selenium碰到一个题目,倒霉用署理ip时是可以打开网站的,但是使用署理ip时会打不开网站,网站会表现“无法访问该网站”。但是用requests库则可以爬取到内容
缘故起因:我从网上免费爬取到的http署理不支持访问https协议。
让署理服务器支持HTTPS很难吗?_鲲鹏Web数据抓取 - 专业Web数据收罗服务提供商

 附上代码:
  1. from selenium import webdriver
  2. chromeOptions = webdriver.ChromeOptions()
  3. chromeOptions.add_argument('--proxy-server=http://117.160.250.138:8899')
  4. # chromeOptions.add_experimental_option(
  5. #     "excludeSwitches", ["enable-automation"])
  6. # chromeOptions.add_experimental_option('useAutomationExtension', False)
  7. # chromeOptions.add_argument('lang=zh-CN,zh,zh-TW,en-US,en')
  8. chromeOptions.add_argument(
  9.     'user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36')
  10. # preferences = {
  11. #     "webrtc.ip_handling_policy": "disable_non_proxied_udp",
  12. #     "webrtc.multiple_routes_enabled": False,
  13. #     "webrtc.nonproxied_udp_enabled": False
  14. # }
  15. # chromeOptions.add_experimental_option("prefs", preferences)
  16. driver=webdriver.Chrome(chrome_options=chromeOptions)
  17. driver.get('http://www.baidu.com')
复制代码
为了确认是否ip失效,我使用了requests库举行爬取
  1. header={'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36'}
  2. res=requests.get('https://blog.csdn.net/zise_xingkong/article/details/112350327',proxies={"http":"http://221.6.139.190:9002"},headers=header)
  3. print(res.url)
  4. print(res.text)
复制代码
效果是可以拿到内容,我同样实验过使用httpbin.org/ip举行ip查询,确认是否接纳了署理ip
  1. import time
  2. import random
  3. from selenium import webdriver
  4. class SetProxyModel():
  5.     test_url = "http://httpbin.org/ip"
  6.     with open('E:\project\自用ip代理\pythonProject\可用代理IP.txt') as file:
  7.         ips = file.readlines()
  8.         max_len = len(ips)-1
  9.     def __init__(self):
  10.         self.options = webdriver.ChromeOptions()
  11.         self.options.add_argument(
  12.             'user-agent=”Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36“')
  13.         # 设置代理
  14.         self.ip = self.ips[random.randint(0, self.max_len)]
  15.         print(self.ip)
  16.         self.options.add_argument('--proxy-server=' + self.ip)
  17.         self.driver = webdriver.Chrome(chrome_options=self.options)
  18.         self.driver.maximize_window()
  19.     def set_proxy(self):
  20.         self.driver.get(self.test_url)
  21.         time.sleep(random.randint(2, 5))
  22.         print(self.driver.page_source)
  23.         cookies = self.driver.get_cookies()
  24.         print(cookies)
  25.     def close(self):
  26.         time.sleep(5)
  27.         self.driver.close()
  28. if __name__ == '__main__':
  29.     sp = SetProxyModel()
  30.     sp.set_proxy()
  31.     time.sleep(random.randint(3, 5))
  32.     sp.close()
复制代码
确认了是接纳了署理ip。
因此,如今暂时不清晰题目出在什么地方,有没有大佬支支招。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表