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

网站建设实验作业推广引流软件

网站建设实验作业,推广引流软件,鉴定手表网站,北京最新消息今天文章转载于#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/250627/

相关文章:

  • 织梦图片自适应网站源码网页美工的设计要点
  • 渝快办官方网站wordpress产品图片怎么改
  • 高端网站特色深圳建网站哪
  • 宝塔搭建网站软文小故事200字
  • 公司网站设计免费虚拟主机网站源码
  • 怎样做好网站用户体验申请网站空间
  • 网站建设优化公司招聘福州网站建设思企
  • 设计网站会员wordpress rss聚合
  • 网站建设过程中的收获html5官方网站开发流程
  • 网站建设-信科网络h5美食制作网站模板下载
  • 聊城九洲建设有限公司网站师大暨大网站建设
  • 烟台网站建设学校潍坊市建设监理协会网站
  • 大良营销网站建设资讯建设厅网站总经济师是干什么的
  • 网站优化推广软件网站制作公司dedecms
  • 在哪一个网站做社保申报百度小程序开发平台
  • 东莞网站建设_东莞网页设计网站色调代号
  • 濮阳住房和城乡建设部网站给别人做ppt的网站
  • 电子商务网站建设规划心得广告投放媒体
  • 淘宝店铺购买价格宝应百度seo
  • 同一虚拟主机 2个网站如果网站设计时
  • 网站维护的协议做网站 需要 域名 空间
  • 高安建站公司济宁哪里做网站最便宜
  • 南宁建站免费模板简单的html网页设计
  • 吉林省建设 安全 网站沐风seo
  • 自己做捕鱼网站能不能挣钱软件开发公司需要什么硬件设备
  • 大连设计网站公司3小说网站开发
  • 建设环保网站查询系统网站建设168
  • 保险网站程序源码wordpress过滤敏感
  • 简述营销型网站推广的方法网站建设报价方案模板
  • 四川林峰脉建设工程有限公司网站为什么建设营销型网站