不重新打开谷歌浏览器的爬虫

相信遇到过这样的情况,用selenium进行爬虫,每次都是重新打开一个谷歌浏览器。然而有些网页的爬取内容是需要用户登录状态在的,这样每次重新打开都会丢失状态,如果频繁登录是很麻烦的事。

目录

解决办法

美丽修行案例


解决办法

所以请基于以下思路解决:

打开需要爬虫的网站,然后登陆好。

爬虫程序直接基于现有登录状态接管浏览器。

进行爬取。

很显然,最核心的问题就是接管当前浏览器。解决方法步骤:

①找到你谷歌浏览器所在的文件位置:

 

以上图我的电脑为例,点击后即可轻松找到文件位置;

②打开该路径下的cmd 

这样输入并敲回车键即可打开如下:

 

可以看到,直接就跳进这个路径了,不需要什么cd切换路径,很方便! 

接下来在这个cmd页面里面复制粘贴下面的命令(没有电脑间的差别,直接粘贴):

 chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"

 然后回车,自动运行,自动打开谷歌浏览器页面!这个就是即将被代码接管的谷歌浏览器。

上图就是效果(有些地方不要误会,我故意把cmd和浏览器放一块方便大家对照的) 

美丽修行案例

案例说明:

美丽修行网站是用于对化妆品进行检索的网站,数据来源于药监局。

但是它的检索功能是要登录后才可以使用的,哪怕我拿检索页面的网址直接去打开,也只是下图的页面:

必须要登录!下面是登录好的页面(就是用我之前那个方法打开的谷歌浏览器,然后你当正常的浏览器登录等操作即可),一会爬虫代码就是接管这个页面的。

下面是爬虫代码需要注意的部分:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import sys
#一些需要的库

chrome_options=Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
#上一行是不是有很熟悉的东西?
#没错,cmd里面的remote-debugging-port=9222命令就是指定了该端口
driver = webdriver.Chrome("C:/Users/Scripts/chromedriver.exe",chrome_options=chrome_options)
#这个地方的双引号里面的内容是你chromedriver.exe的位置,如果你没有配置,照理说是还轮不到看到这一步的文章的。
#总的来说,这一步就是对chromedriver进行配置。

#下面就应该是爬虫代码了,注意千万不要有:
#driver.close()
#或者driver.quit()
#会关掉你的浏览器的!

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值