ubuntu版本18.04
查看版本的命令如下
cat /proc/version
python使用版本 ubuntu18.04自带的python3.6版本
位于目录 /usr/local/lib/python3.6
安装JDK环境,可参照博客
https://blog.csdn.net/lylg_ban/article/details/109676369?spm=1001.2014.3001.5501
安装Pycharm编译环境,在网页搜索,下载****.tar.gz,解压即可
找到安装pycharm安装目录,
右击打开终端,执行命令./pycharm.sh打开Pycharm编译环境
./pycharm.sh
新建一个项目测试环境是否可用:
刚开始建立项目就遇到一个问题,ModuleNotFoundError: No module named ‘distutils.util‘
参考博客
https://blog.csdn.net/lylg_ban/article/details/117927571?spm=1001.2014.3001.5501
可解决此问题。
第一个项目成功创建,然后安装scrapy环境
pip install scrapy
创建一个scrapy项目
scrapy startproject code
创建一个spider文件
scrapy genspider baidu www.biadu.com
新建一个执行文件main.py
from scrapy import cmdline
cmdline.execute('scrapy crawl baidu')
由于用到了数据库相关操作
所以报了如下错误
解决办法:
sudo apt-get install unixodbc unixodbc-dev
解决办法:安装ODBC
bay@sdbserver2:~$ sudo su
root@sdbserver2:/home/bay# curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
root@sdbserver2:/home/bay# exit
bay@sdbserver2:~$ sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17
bay@sdbserver2:~$ sudo ACCEPT_EULA=Y apt-get install -y mssql-tools
bay@sdbserver2:~$ echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
bay@sdbserver2:~$ source ~/.bashrc
bay@sdbserver2:~$ sudo apt-get install -y unixodbc-dev
安装完成之后,执行scrapy文件不在报错
当有多个spider文件,并行爬取时,使用多进程又会报错
首先建立软连接
sudo ln -s /usr/local/lib/Python3.6/scrapy /usr/bin/scrapy
并修改main.py,添加app_path也就是spider文件的实际路径,在windows中,不加此路径也能识别,至此,scrapy项目已能成功运行
app_path = os.path.dirname(os.path.realpath('/home/bay/workspace/code/code/spiders/baidu.py'))
subprocess.Popen("scrapy crawl baidu", shell=True, cwd=app_path)
print("I'm working for job1")
成功运行截图如下