爬虫一般是useragent,或者js脚本交互验算的方式来反机器人爬虫,只是很多反爬虫容易被侦测出来容易被拦截,这里有个思路可以用webdrivers来驱动浏览器去爬虫,这样就可以绕过大多数的防爬机制(有些高级的防反爬虫也不行,比如验证码,鼠标轨迹验证等技术这样chromedriver就不管用了)

用chrome浏览器举例

第一下载安装chrome浏览器并查明版本号。

┌──(kali㉿kali)-[~]
└─$ apt-get install google-chrome-stable

然后照着浏览器去下载相应的chromedriver

下载地址:CNPM Binaries Mirror

下载后解压,将里面的chromedriver 复制到/usr/bin/ 目录下面(pach环境变量里面)即可

下面开始写脚本

from time import sleep
import os
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keysoption = webdriver.ChromeOptions()
#设置chrome的浏览器选项option.add_argument('--headless')
#设施chrome选项为无窗口运行driver = webdriver.Chrome(chrome_options=option)
# 创建一个chrome浏览器,应用无窗口的配置。driver.get("http://www.jsons.cn/ping/")
#用chrome去访问网页WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'txt_url')))
#让chrome显式等待driver这个对象,并最多等待10秒,当界面出现'txt_url'这个元素后在继续往下driver.find_element(By.XPATH, '//*[@id="txt_url"]').send_keys('ss111d.yqw5ey.dnslog.cn')
#再出现//*[@id="txt_url"]这个元素后往这个元素里面填入ss111d.yqw5ey.dnslog.cn这个数值driver.find_element(By.XPATH, '//*[@id="startbtn"]').click()
#然后找到//*[@id="startbtn"] 这个按钮模拟点击它sleep(1)
#等待一秒后退出

find_element(By.XPATH, '//*[@id="txt_url"]')  这个元素怎么来的?如下:

总的来说这个脚本就是用chrome 打开这个网站,然后输入这个dnslog的网址去ping一下。模仿人点击去测试网页

结果

其他:

下拉菜单如何选择?

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select# 创建一个 WebDriver 实例
driver = webdriver.Chrome()# 访问网页
driver.get("https://example.com")# 选择下拉框元素
select_box = driver.find_element(By.ID, "my_select_box")# 初始化 Select 类
select = Select(select_box)# 选择一个选项
select.select_by_value("option_value")# 关闭 WebDriver 实例
driver.quit()

在最新版本的 Selenium Python 包中,推荐使用 find_element 方法的新形式,即指定查找方式的参数 By,以及对应的选择器表达式,具体有以下几种用法:

  1. 通过元素 ID 查找元素:find_element(By.ID, id_)
  2. 通过元素 name 查找元素:find_element(By.NAME, name)
  3. 通过元素 class name 查找元素:find_element(By.CLASS_NAME, name)
  4. 通过元素标签名查找元素:find_element(By.TAG_NAME, name)
  5. 通过元素链接文本查找元素:find_element(By.LINK_TEXT, text)
  6. 通过元素部分链接文本查找元素:find_element(By.PARTIAL_LINK_TEXT, text)
  7. 通过元素 CSS 选择器查找元素:find_element(By.CSS_SELECTOR, css_selector)
  8. 通过元素 XPath 查找元素:find_element(By.XPATH, xpath)

python3 chromedrivers签到相关推荐

  1. python 判断节假日,Python3自动签到 定时任务 判断节假日的实例

    不废话,直接上代码Python3.6 签到代码,只需修改url,账号,密码即可,此处是登录时无验证登录,有验证码的自行补充 # -*- coding:utf-8 -*- import json imp ...

  2. python识别节假日_Python3自动签到 定时任务 判断节假日的实例

    不废话,直接上代码Python3.6 签到代码,只需修改url,账号,密码即可,此处是登录时无验证登录,有验证码的自行补充 # -*- coding:utf-8 -*- import json imp ...

  3. python 判断节假日_[宜配屋]听图阁

    不废话,直接上代码Python3.6 签到代码,只需修改url,账号,密码即可,此处是登录时无验证登录,有验证码的自行补充 # -*- coding:utf-8 -*- import json imp ...

  4. C++构造函数初始化列表与构造函数中的赋值的区别

    转载 C++构造函数初始化列表与构造函数中的赋值的区别 2016-12-10 15:16:51 xingpacer 阅读数 10391更多 分类专栏: C++相关 查看全文 http://www.ta ...

  5. 基于Python3+Requests的贴吧签到助手

    因为总是忘记签到,所以尝试写了一个签到脚本,因为使用的是Python3,所以没法使用Urllib2,于是选择了Requests,事实证明,Requests比Urllib2好用.整体思路比较简单,就是模 ...

  6. python3+任务计划实现的人人影视网站自动签到

    """ python3+任务计划实现的人人影视网站自动签到 2016年6月8日 09:52:28 codegay这是一个自动化程度较高的程序,运行本程序后会从chrome ...

  7. python自动关闭弹窗字幕_[原创]python3+任务计划实现的人人字幕网站自动签到

    """ python3+任务计划实现的人人字幕网站自动签到 2016年6月8日 09:52:28 codegay 这是一个自动化程度较高的程序,运行本程序后会从chrom ...

  8. Python3实现某网站自动签到并且发短信到手机

    本文原创作者: Lhaihai 原创投稿详情:重金悬赏 | 合天原创投稿等你来! 0x00 前言 这几天学了学python爬虫,就想用python实现一下自动签到领取积分,毕竟我比较懒,能不动手就让代 ...

  9. python3贴吧_python3模拟百度登录并实现贴吧自动签到

    1.[文件] baiduclient.py ~ 4KB 下载(176) ''' Created on 2014-2-20 @author: Vincent ''' import urllib.pars ...

最新文章

  1. java里写分页,自己写的Java分页类
  2. 【Android开发】范例2-实现简易绘图板
  3. SQL Server 中@@IDENTITY的用法
  4. 技术实践 | 如何基于 Flink 实现通用的聚合指标计算框架
  5. Mac 如何恢复出厂设置
  6. mybatis resultMap 的日期字段无法获取时分秒的两个问题
  7. 2018年工业机器人销量排位_2020年全球工业机器人现状与竞争情况 中国为全球最大供应国...
  8. 特征工程(part4)--特征缩放:tf-idf
  9. KDT#94 为DW/BI系统建立定制工具
  10. python输入float_python – 在tensorflow中创建一个float64变量
  11. 微信小程序|开发实战篇之五-slide-view滑动菜单组件
  12. flutter 真机无法调试 sdk报错_老许,你要转Flutter不要?只要你开金口,面试题现在就给你送来...
  13. 解除用户锁定、修改用户密码
  14. 【HDU3336】Count the String(kmp--每个前缀出现的次数)
  15. JVM七大垃圾回收器上篇Serial、ParNeW、Parallel Scavenge、 Serial Old、 Parallel Old、 CMS、 G1【尚】
  16. 贴片钽电容的正负极性识别和贴片玻璃二极管的正负极性识别
  17. armbian 斐讯n1_尝试使用斐讯N1在armbian终端下播放音乐
  18. 使用C#.NET WebBrowser控件导航到不同的网站出现 所请求的资源正在使用中。 (从HRESULT异常:0x800700AA)
  19. PDF文档分割简单方法
  20. signature=07da782715954d48aa05e9d49faf92a9,ndls-20201029

热门文章

  1. 大学食堂留言薄上的经典(笑破肚肚)
  2. python绘制太阳系_使用 Python 来简单的动态模拟一下太阳系的运转
  3. 写给未来跟我结婚的你,今后咱俩要干的小坏事!
  4. mobaxterm连接linux教程,内网之mobaxterm远程访问
  5. 工大SSE(中等难度)
  6. 云服务器做视频网站,服务器做视频网站
  7. 用Xpath选择器解析网页(lxml)
  8. C++获取当前时间 (std::chrono)
  9. 使用std::chrono获取系统时间
  10. 寻找凸包的graham 扫描法