大家好,我是安果!

在对某些网站进行爬虫时,如果该网站做了限制,必须完成登录才能展示数据,而且只能通过短信验证码才能登录

这时候,我们可以通过一个已经开启的浏览器完成登录,然后利用程序继续操作这个浏览器,即可以完成数据的爬取了

具体操作步骤如下:

1-1  安装依赖

# 安装依赖
pip3 install selenium

1-2  Chrome 应用完整路径

右键查看 Chrome 浏览器的完整路径

比如:C:\Program Files\Google\Chrome\Application\chrome.exe

1-3  命令行启动浏览器

接下来,在 CMD 终端中通过命令行启动 Chrome 浏览器

# 启动浏览器
cd C:\Program Files\Google\Chrome\Application && chrome.exe --remote-debugging-port=1234 --user-data-dir=“C:\selenum\user_data”

其中

  • --remote-debugging-port

指定浏览器调试端口号

PS:这里可以随机指定一个端口号,不要指定为已经被占用的端口号

  • --user-data-dir

用户配置文件目录

这里需要单独指定一个文件夹目录(不存在会新建),如果不显式指定该参数,运行会污染浏览器默认的配置文件

1-4  下载 ChromeDriver

根据 Chrome 浏览器版本下载对应的 ChromeDriver 驱动移动到某一个目录下

下载地址:

http://chromedriver.storage.googleapis.com/index.html

1-5  操作已打开的浏览器

假设上面开启的浏览器打开百度首页,我们现在编写一个简单的程序来继续操作上面的浏览器

注意的是,这里需要利用 debuggerAddress 指定浏览器的地址及端口号

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import Bychrome_options = Options()# 指定已经打开浏览器的地址及端口号
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:1234")# 注意:chrome版本与chromedirver驱动要保持一致
# 下载地址:http://chromedriver.storage.googleapis.com/index.html
s = Service(r"C:\Users\xingag\Desktop\111\chromedriver.exe")driver = webdriver.Chrome(service=s, options=chrome_options)# 操作浏览器
input_element = driver.find_element(By.ID, 'kw')if input_element:# 关键字input_element.send_keys("AirPython")submit_element = driver.find_element(By.ID, 'su')if submit_element:# 点击搜索submit_element.click()# 释放资源
# driver.close()

推荐阅读

5 分钟,教你从零快速编写一个油猴脚本!

爬虫工具篇 - 必会用的 6 款 Chrome 插件

一个人,一座城,你到底在乎什么?Python 爬虫告诉你!

END

好文和朋友一起看~

如何利用 Selenium 对已打开的浏览器进行爬虫!相关推荐

  1. 如何利用 Selenium 对已打开的浏览器进行爬虫

    大家好! 在对某些网站进行爬虫时,如果该网站做了限制,必须完成登录才能展示数据,而且只能通过短信验证码才能登录 这时候,我们可以通过一个已经开启的浏览器完成登录,然后利用程序继续操作这个浏览器,即可以 ...

  2. 使用Selenium控制已打开的浏览器和网页

    使用Selenium控制已打开的浏览器和网页 之前遇到一个需求,就是需要登录某一个网站然后需要通过selenium从网页上自动获取一些信息:该网站需要通过手机验证码登录,通过selenium自动化登录 ...

  3. python控制已经打开的浏览器_使用python+selenium控制手工已打开的浏览器

    我们可以利用Chrome DevTools协议.它允许客户检查和调试Chrome浏览器. 打开cmd,在命令行中输入命令: chrome.exe --remote-debugging-port=922 ...

  4. python接管已经打开ie浏览器_使用selenium控制(接管)已打开的浏览器(chrome),并通过WebDriver值检测...

    在使用selenium进行自动化测试中我们有时会遇到这样的情况: 我们需要手动打开浏览器,进入到所需的页面,执行一些手动任务,如输入表单.输入验证码,登陆成功后,然后再开始运行自动化脚本. 这种情况下 ...

  5. selenium 如何在已打开的浏览器上直接自动化脚本

    selenium 如何在已打开的浏览器上继续运行自动化脚本? 前言: selenium测试网页每次登录都需要从头到尾登录到底,令人心烦: 此文章为直接在已打开.已登录/验证的网页运行提供方法: 一.配 ...

  6. Selenium Webdriver重新使用已打开的浏览器实例

    本文转自:http://blog.csdn.net/wwwqjpcom/article/details/51232302 本文中的样例均使用SoapUI ,关于SoapUI+Webdriver 的配置 ...

  7. Selenium Webdriver重新使用已打开的浏览器实例(Chrome版)

    昨天百度了半天关于Selenium Webdriver怎样重新使用已打开的浏览器的问题,就找到了这么位大佬的文章: https://blog.csdn.net/wwwqjpcom/article/de ...

  8. Selenium 调用IEDriverServer打开IE浏览器

    Selenium 调用IEDriverServer打开IE浏览器 2016年03月30日 09:49:37 标签: selenium 14836 Selenium 调用IEDriverServer打开 ...

  9. python设置端口控制ie浏览器_[Python爬虫] 之二:Selenium 调用IEDriverServer打开IE浏览器安装配置...

    无论是selenium2(WebDriver)还是selenium2Library,如果想要调用ie浏览器,均需以下步骤. 下载IEDriverServer.进入索引页,首先选择版本号,IEDrive ...

最新文章

  1. Androidx CoordinatorLayout 和 AppBarLayout 实现折叠效果(通俗的说是粘性头效果)
  2. 【Python】Pandas中的宝藏函数-rank()
  3. 如何自动填充网页表单_iCab for Mac(web网页浏览器)
  4. 【译】UNIVERSAL IMAGE LOADER. PART 3---ImageLoader详解
  5. Html5结合JS实现浏览器全屏功能
  6. boot定时任务开启和关闭 spring_Spring之定时任务实践
  7. 畅通工程(HDU-1232)
  8. 基于JavaScript的在线语音识别库Julius
  9. 用汇编的眼光看C++(之类继承)
  10. 204. Count Primes 1
  11. Could not find artifact com.sun:tools:jar:1.5.0 问题解决
  12. [转]Understanding Integration Services Package Configurations
  13. 配置eclipse反编译
  14. jeesit1.27(3)-id生成策略
  15. html5音乐播放器在线生成,一款极简的HTML5音乐播放器-skPlayer
  16. 计算机专业的学生怎样练习编程才能把编程学精通?
  17. C语言之for循环应用之断案篇----找凶手
  18. phython编写图形界面
  19. Pytorch-gpu版安装教程【注意:无需提前安装cuda和cudnn】
  20. Python 文件IO操作

热门文章

  1. 浅谈Authorware作品网上应用技巧
  2. 医疗机构人脸识别测温健康码防控系统如何部署?
  3. linux文件大小按照m查看,linux查看文件大小df-du
  4. SpringBoot的宠物医院管理系统(有文档)
  5. chrome浏览器截取网页长图
  6. 位bit和字节Byte
  7. Bootstrap框架----单张图片上传实现---Uploadify插件
  8. 无无线网卡不桥接让台式机上网
  9. LoRa与NB各领风骚,激荡百亿级物联网连接
  10. 第三章:使用云产品的优势