网站为了反爬,做了访问延迟,不得已只能用selenium。整个过程很复杂我进行大量的省略,防止自己忘记做了一个简要的记录。
1. ubuntu上自行安装chrome、mysql、pymysql。使用mysql是为了存储爬取地址。
2. chromedriver与Chrome浏览器版本要对应(网上有),chromedriver放到/usr/bin目录(windows是放在Python安装目录的Scripts文件夹中)。
3. 启动crontab的后台服务:sudo systemctl enable cron.service; sudo systemctl start cron.service
3. 每隔20分钟kill掉程序,然后重启python程序,crontab -e,然后输入以下内容(说明部分除外):
*/20 * * * * pkill -9 -u 用户名 chrome >> test.log 2>&1
说明:根据应用名kill程序。因为爬虫使用了selenium框架,kill掉chrome就等于kill Python程序。这么做是为了不重复打开浏览器和Python程序的重复执行。
*/20 * * * * export DISPLAY=:0.0 && /usr/bin/python3 >> test.log 2>&1
说明:export DISPLAY=:0.0 显示chrome浏览器的界面,否则程序会提示chrome crashed。
5. service cron restart,重启服务。