Python:selenium动态爬取网页常见问题

本文介绍了在Python中使用selenium进行动态网页爬取时遇到的问题,包括使用pyvirtualdisplay在无头模式下运行Firefox,选择phantomjs作为替代方案,注意硒(selenium)版本与phantomjs的兼容性,多线程爬虫的实现和数据库连接管理,以及如何处理运行时的SSL错误。同时提供了相关操作步骤和建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自己写爬虫遇到的一些问题:


一,窗口下运行的Firefox中的静默模式

在网上搜索经常会看到这个内容:

pyvirtualdisplay,创建虚拟屏幕,将浏览器运行在这个虚拟的屏幕之中
下载依赖包

$ sudo apt-get install xvfb python-pip

然而XVFB的是Linux的的下运行的东西,窗户没有,所以想要无头浏览器,建议用phantomjs!

二,phantomjs

phantomjs下载安装网上都用,这里要注意的是:硒的版本不能高否则会运行程序会提示(虽然不影响程序运行)!

建议硒为3.3.1

三,多线程问题

1.简单爬虫用加入()方法设置,具体参考:

python系列之 - 多线程:https://blog.youkuaiyun.com/songfreeman/article/details/50822795

2.数据库连接

如果增删查改是函数调用,建议每个函数都写上数据库连接(不用写关闭)。

最后程序快结束时关闭数据库连接。这样是避免数据库关闭导致其余线程插不进去数据的情况。

游标建议函数里使用并关闭(这个还是随用随关的好)。

(个人认为小型爬虫还是单线程比较稳 - - )

四,运行过程报错

Screenshot: available via screen

解决办法

service_args = []

service_args.append(' - ignore-ssl-errors = true')##忽略https错误
service_args.append(' - ssl-protocol = TLSv1')

driver = webdriver.PhantomJS(service_args = service_args)

五,以下是一些操作:

selenium

指定版本安装selenium:pip install selenium == 3.3.1

phantomjs:

下载:http//phantomjs.org/download.html 

.EXE解压到python目录(相当于配置环境变量)。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值