SOCKS使用及Selenium过检测

这篇具有很好参考价值的文章主要介绍了SOCKS使用及Selenium过检测。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

urllib携带socks5代理

安装pip3 install PySocks

import socks
import socket
from urllib import request
from urllib.error import URLError

socks.set_default_proxy(socks.SOCKS5, '127.0.0.1', 9742)
socket.socket = socks.socksocket
try:
    response = request.urlopen('http://httpbin.org/get')
    print(response.read().decode('utf-8'))
except URLError as e:
    print(e.reason)

requests携带socks5代理

import requests 
proxy = '127.0.0.1:9742'
proxies = {'http': 'socks5://' + proxy, 'https': 'socks5://' + proxy }
try:    
    response = requests.get('http://httpbin.org/', proxies=proxies)    		      		     print(response.text) 
except requests.exceptions.ConnectionError as e:    
    print('Error', e.args)
另外还有一种设置方式,和Urllib中的方法相同,使用socks模块,也需要像上文一样安装该库,设置方法如下:
import requests
import socks
import socket

socks.set_default_proxy(socks.SOCKS5, '127.0.0.1', 9742)
socket.socket = socks.socksocket
try:    
    response = requests.get('http://httpbin.org/get')
    print(response.text) 
except requests.exceptions.ConnectionError as e: 
    print('Error', e.args)

这样也可以设置SOCKS5代理,运行结果完全相同,相比第一种方法,此方法是全局设置,不同情况可以选用不同的方法。

Selenium 谷歌添加代理

from selenium import webdriver
from selenium.webdriver import ChromeOptions

from selenium import webdriver

# option = webdriver.ChromeOptions()
# option.add_argument('disable-infobars')
# option.add_argument('--headless')
#
# option.add_experimental_option('excludeSwitches', ['enable-automation'])
#
# # 禁止图片和css加载
# # prefs = {"profile.managed_default_content_settings.images": 2, 'permissions.default.stylesheet': 2}
# # option.add_experimental_option("prefs", prefs)
option = ChromeOptions()
ip = 'ip:port'
#注意此处一个坑 "'--proxy-server=" 非 "--proxy-server="
option.add_argument(("'--proxy-server=" + ip)) 
driver = webdriver.Chrome(options=option)
driver.get(url='https://www.baidu.com')

Selenium 火狐添加代理


def login(self):

    ua='Mozilla/5.0 (Windows NT {}.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/{}.{}.{}.{} Safari/537.36'.format(random.randint(7,10),random.randint(35,75),random.randint(0,9),random.randint(1000,9999),random.randint(100,999))

    options = webdriver.FirefoxOptions()
    options.add_argument('-headless')

    # options.add_experimental_option('excludeSwitches', ['enable-automation'])

    profile = webdriver.FirefoxProfile()

    profile.set_preference('general.useragent.override', ua)

    profile.set_preference('network.proxy.type', 1)

    profile.set_preference('network.proxy.http', ip)
    profile.set_preference('network.proxy.http_port', port)

    profile.set_preference('permissions.default.image', 2)  # 某些firefox只需要这个
    profile.set_preference('browser.migration.version', 9001)  # 部分需要加上这个
    # 禁用css
    profile.set_preference('permissions.default.stylesheet', 2)

    # 禁用flash
    profile.set_preference('dom.ipc.plugins.enabled.libflashplayer.so', 'false')

    profile.update_preferences()

    driver = webdriver.Firefox(firefox_options=options, firefox_profile=profile)

    # 超时等待
    driver.set_page_load_timeout(800)
    driver.set_script_timeout(800)

    return driver

Selenium 谷歌解决JS冲突检测

from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options)
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  "source": """
    Object.defineProperty(navigator, 'webdriver', {
      get: () => undefined
    })
  """
})


# console.log   -> 检测 window.navigator.webdriver

driver.get('http://exercise.kingname.info')

文章来源地址https://www.toymoban.com/news/detail-522158.html

到了这里,关于SOCKS使用及Selenium过检测的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python爬虫selenium被检测处理(适用淘宝登录)

    1.增加这个是防止检测是webdriver谷歌驱动调起的请求,通用大部分 2.修改chromedriver里面的内容: 用Notepad++打开chromedriver文件,查找  $cdc_  修改这个数值。 3.修改User-Agent的值,如果你长时间使用相同 的User-Agent:可能会被检测到加入黑名单, 这时候你修改User-Agent值就可能绕开

    2024年02月09日
    浏览(44)
  • Python反反爬篇--selenium被检测到的解决办法

    有时候,我们利用 Selenium 自动化爬取某些网站时,极有可能会遭遇反爬。 实际上,我们使用默认的方式初始化 WebDriver 打开一个网站,下面这段 JS 代码永远为 true,而手动打开目标网站的话,则为:undefined 稍微有一点反爬经验的工程师利用上面的差别,很容易判断访问对象

    2024年02月05日
    浏览(42)
  • 2020年高教社杯全国大学生数学建模竞赛---校园供水系统智能管理(Python代码实现)

    目录 💥1 概述 📚2 问题 🎉3 运行结果 👨‍💻4 Python代码 校园供水系统是校园公用设施的重要组成部分,学校为了保障校园供水系统的正常运行需要投入大量的人力、物力和财力。随着科学技术的发展,校园内已经普遍使用了智能水表,从而可以获得大量的实时供水系统运

    2024年02月11日
    浏览(46)
  • 【Python】Selenium模块使用

    Selenium 是一个用于自动化网页浏览器的工具和框架。它提供了一组用于操作浏览器的 API,可以实现模拟用户在浏览器中的各种行为,如点击、输入文本、提交表单等。 Selenium 最初是为测试 Web 应用程序而创建的,但随着时间的推移,它已经发展成为一种强大的工具,用于各种

    2024年02月12日
    浏览(40)
  • 使用Python安装Selenium

    使用Python安装Selenium Selenium是一个用于自动化Web浏览器操作的强大工具。它可以模拟用户在浏览器中的操作,如点击、填写表单、抓取数据等。本文将向您介绍如何在Python中安装Selenium,并提供相应的源代码示例。 步骤1:安装Python 首先,您需要在您的计算机上安装Python。您可

    2024年02月08日
    浏览(40)
  • 实际工作中通过python+go-cqhttp+selenium实现自动检测维护升级并发送QQ通知消息(程序内测)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 首先,今年比较忙没有多余时间去实操创作分享文章给大家,那就给大家分享下博主在实际工作中的一点点内容吧,就当交流交流~ 目前公司有个跨平台大项目正在内测中,是基于QT框架研发的客户

    2024年02月13日
    浏览(39)
  • 【Python_Selenium学习笔记(一)】Selenium介绍及基本使用方法

    Selenium是一套 Web 网站的程序自动化操作解决方案,广泛应用于自动化测试及爬虫。此篇文章主要介绍 Selenium 的 安装和基本使用流程。 Selenium 框架的安装主要就是安装两样东西: Selenium 客户端库 和 浏览器驱动 。 1.1、Selenium 框架安装 使用 pip 命令安装 pip install selenium ,安装

    2023年04月13日
    浏览(62)
  • # 使用Python和Selenium入门 ‍

    在数字时代,自动化测试和Web数据抓取变得越来越重要。Python搭配Selenium库,就像是为Web自动化而生的超级英雄组合!本篇教程将带你深入了解如何使用这个强大的组合,让你的自动化旅程充满乐趣和效率。🎉 首先,确保你装备齐全: 安装Python :如果你还没有安装Python,现

    2024年02月21日
    浏览(34)
  • Python---selenium 使用及定位

    使用find_element_by_*() 方法只需导入 from selenium import webdriver,使用 find_element() 方法除了导入 from selenium import webdriver ,还要导入 from selenium.webdriver.common.by import By。 Selenium4 提供了 8 种定位(单)节点的方法,如下表所示: 方法说明 find_element(By.ID) 通过 id 属性值定位节点 find_

    2024年02月03日
    浏览(45)
  • Python爬虫【selenium的基础使用】

    一.本文背景及概要 笔者在Python爬虫的学习过程中接触selenium,惊觉此包的强大之处,便对学习的知识做个记录,方便日后需要时查看,同时也和读者分享。文中表述如有错误,敬请指正,感激不尽。 本文主要是对selenium的概要和一些基础的用法。特此说明:笔者学习的资料中

    2024年02月04日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包