首页 > 系统服务 > 详细

关于在linux上部署scrapy的爬虫

时间:2019-12-12 18:42:02      阅读:86      评论:0      收藏:0      [点我收藏+]

1.在服务器中安装chrome

1 sudo apt-get install libxss1 libappindicator1 libindicator7
2 wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
3 sudo dpkg -i google-chrome*.deb
4 sudo apt-get install -f

 

2.安装scrapy

  sudo apt-get install python3-scrapy

  可能pip会熟悉一些,但是还是推荐使用这种方法。因为服务器可能并没有内置pip3,而pip是给python2安装的操作

3.一些非常麻烦的操作

  • 安装chromedriver

    

1 wget https://npm.taobao.org/mirrors/chromedriver/79.0.3945.36/chromedriver_linux64.zip
2 unzip chromedriver_linux64.zip
  • 给予chromedriver软连接

    ln -s chromedriver的目录 /usr/bin/chromedriver

    这一步更多是将chromedriver与系统建立联系,类似于windows的添加path(这一步我也不是很明白,如果有谁知道欢迎指正)

  • 不可用root打开的解决方法

    这里需要使用vim:# vim /usr/bin/google-chrome

    并进行如下操作:

1 将 exec -a "$0" "$HERE/chrome" "$@"  改为
2 exec -a "$0" "$HERE/chrome" "$@" --no-sandbox $HOME

4.设置无界面化的chrome

技术分享图片
1     def __init__(self, **kwargs):
2         super().__init__(**kwargs)
3         self.options = webdriver.ChromeOptions()
4         self.options.add_argument(--headless)
5         self.options.add_argument(--disable-gpu)
6         self.options.add_argument(--no-sandbox)
7         self.options.add_argument(blink-settings=imagesEnabled=false)
8         self.browser = webdriver.Chrome(chrome_options=self.options)
9         self.browser.set_page_load_timeout(30)
View Code

 

5.在后台执行的命令:

nohup python -u run.py > test.log 2>&1 &

ps -A 可以查看进程

kill -9 [进程编号]终止后台

6.使用后台执行运行scrapy

首先要新建一个run.py在spider目录里。

1 import os
2 
3 if __name__ == __main__:
4     os.system("scrapy crawl passage")

运行的时候用nohup执行run.py

nohup python -u run.py > test.log 2>&1 &

关于在linux上部署scrapy的爬虫

原文:https://www.cnblogs.com/PKU-CD/p/12029779.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!