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

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


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

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

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

下载依赖包

$ sudo apt-get install xvfb python-pip

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

二,phantomjs

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

建议硒为3.3.1

三,多线程问题

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

python系列之 - 多线程:https://blog.csdn.net/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目录(相当于配置环境变量)。




展开阅读全文

没有更多推荐了,返回首页