当前位置: 首页 > news >正文

凡科网站建设怎么样wordpress加密原理

凡科网站建设怎么样,wordpress加密原理,企业商城网站建设,网站开发的硬件设备文章转载于#xff1a;https://mp.weixin.qq.com/s/sXRXwMDqekUHfU2SnL-PYg 我们使用 Selenium 对网页进行爬虫时#xff0c;如果不做任何处理直接进行爬取#xff0c;会导致很多特征是暴露的 对一些做了反爬的网站#xff0c;做了特征检测#xff0c;用来阻止一些恶意爬虫… 文章转载于https://mp.weixin.qq.com/s/sXRXwMDqekUHfU2SnL-PYg 我们使用 Selenium 对网页进行爬虫时如果不做任何处理直接进行爬取会导致很多特征是暴露的 对一些做了反爬的网站做了特征检测用来阻止一些恶意爬虫。 本篇文章将介绍几种常用的隐藏浏览器指纹特征的方式 1. 直接爬取 目标对象aHR0cHM6Ly9xaWthbi5jcXZpcC5jb20vUWlrYW4vU2VhcmNoL0FkdmFuY2U 我们使用 Selenium 直接爬取目标页面 # selenium 直接爬取from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service import timechrome_options Options( s Service(rchromedriver.exe路径) driver webdriver.Chrome(services, optionschrome_options) driver.get(urlURL) driver.save_screenshot(result.png)# 保存 source driver.page_source with open(result.html, w) as f:f.write(source)time.sleep(200)页面明显做了反爬网页返回直接返回空白内容 2. CDP CDP 全称为 Chrome Devtools-Protocol https://chromedevtools.github.io/devtools-protocol/ 通过执行 CDP 命令可以在网页加载前运行一段代码进而改变浏览器的指纹特征 比如window.navigator.webdriver 在 Selenium 直接打开网页时返回结果为 true而手动打开网页时该对象值为 undefined 因此我们可以利用 CDP 命令修改该对象的值达到隐藏指纹特征的目的 from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service import timechrome_options Options()s Service(rchromedriver.exe路径)driver webdriver.Chrome(services, optionschrome_options)# 执行cdp命令修改window.navigator.webdriver 对象的值 driver.execute_cdp_cmd(Page.addScriptToEvaluateOnNewDocument, {source: Object.defineProperty(navigator, webdriver, {get: () undefined}) })driver.get(urlURL)driver.save_screenshot(result.png)# 保存 source driver.page_source with open(result.html, w, encodingutf-8) as f:f.write(source)time.sleep(200)需要指出的是浏览器的指纹特征很多使用该方法存在一些局限性 3. stealth.min.js 该文件包含了常用的浏览器特征我们只需要读取该文件然后执行 CDP 命令即可 下载地址 https://github.com/berstend/puppeteer-extra/tree/stealth-js from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By import timechrome_options Options()# 无头模式 # chrome_options.add_argument(--headless)# 添加请求头 chrome_options.add_argument(user-agentMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36)s Service(rchromedriver.exe路径)driver webdriver.Chrome(services, optionschrome_options)# 利用stealth.min.js隐藏浏览器指纹特征 # stealth.min.js下载地址https://github.com/berstend/puppeteer-extra/tree/stealth-js with open(./stealth.min.js) as f:driver.execute_cdp_cmd(Page.addScriptToEvaluateOnNewDocument, {source: f.read()})driver.get(urlURL) # driver.get(urlhttps://bot.sannysoft.com/)# 保存图片 driver.save_screenshot(result.png)time.sleep(200)4. undetected_chromedriver 这是一个防止浏览器指纹特征被识别的依赖库可以自动下载驱动配置再运行 项目地址 https://github.com/ultrafunkamsterdam/undetected-chromedriver 使用步骤也很方便 首先我们安装依赖库 # 安装依赖 pip3 install undetected-chromedriver然后通过下面几行代码就能完美隐藏浏览器的指纹特征 from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service import time import undetected_chromedriver as ucchrome_options Options() # chrome_options.add_argument(--headless)s Service(rchromedriver.exe)driver uc.Chrome(services, optionschrome_options)driver.get(urlURL) # driver.get(urlhttps://bot.sannysoft.com/)driver.save_screenshot(result.png) time.sleep(100)5. 操作已开启的浏览器 最后一种方式上篇文章已经介绍过 如何利用 Selenium 对已打开的浏览器进行爬虫 我们只需要通过命令行启动一个浏览器 import subprocess# 1、打开浏览器 # 指定端口号为1234 # 配置用户数据路径--user-data-dir cmd C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe --remote-debugging-port1234 --user-data-dirC:\\selenum\\user_datasubprocess.run(cmd)然后利用 Selenium 直接操作上面的浏览器即可模拟正常操作浏览器的行为 import time from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service# 操作上面已经打开的浏览器进行百度搜索 chrome_options Options()# 指定已经打开浏览器的地址及端口号 chrome_options.add_experimental_option(debuggerAddress, 127.0.0.1:1234)# 注意chrome版本与chromedirver驱动要保持一致 # 下载地址http://chromedriver.storage.googleapis.com/index.html s Service(rchromedriver.exe)driver webdriver.Chrome(services, optionschrome_options)# 打开目标网站 driver.get(urlURL)time.sleep(200)
http://www.w-s-a.com/news/774278/

相关文章:

  • 网站模板文件怎么下载东莞常平镇邮政编码
  • 建网站需要什么wordpress误删的后果
  • wordpress无插件实现网站地图做阿里巴巴网站店铺装修费用
  • 英文互动网站建设南宁住房和城乡建设局网站
  • 威海微网站建设乐清建网站哪家强
  • 网站和app的开发成本saas系统开发教程
  • ps切片工具做网站大气简洁网站
  • 网至普的营销型网站建设wordpress邮箱验证插件下载
  • 找权重高的网站方法张家港早晨网站建设
  • WordPress数据库添加管理员关键词优化举例
  • 河南国基建设集团--官方网站wordpress qode
  • 做农村电子商务的网站有哪些内容静态网站模板古典
  • 导航网站设计方案个人网站推广方法
  • 网站排名易下拉教程防wordpress花园
  • 计算机网站建设 是什么意思现在网站建站的主流语言是什么
  • php网站跟随导航西安百姓网免费发布信息网
  • 濮阳做公司网站html5 特效网站
  • ppt设计器怎么打开深圳seo网络推广营销
  • 建设银行网站用360浏览器建设信用卡中心网站
  • 创建公司网站 教程广州建设局
  • 详述网站建设的过程简答题ui培训设计怎么样
  • 动易网站官网ppt主题大全素材
  • 怎样用eclipse做网站可以做宣传图的网站
  • 哪里可以做游戏视频网站做网站平台应该注意哪些
  • 网站后期推广是谁来做网页制作步骤作答题
  • 全屋装修设计定制整装成都网站优化多少钱
  • html5购物网站模板一个网站两个数据库
  • 个人网站怎么做微信支付网站建设项目介绍
  • 建网站合同网站适配移动端和PC端
  • 网站建设培训机构哪里好html5开发wap网站