Scrapy 使用实例
# 创建 scrapy 工程
scrapy startproject meimg
# 在 meimg 工程中写一个爬虫文件
cd meimg
scrapy genspider pixabay pixabay.com
# 查看项目爬虫列表
scrapy list
# 运行爬虫
scrapy crawl demo
scrapy crawl ppt_1ppt --nolog # 不打印日志
# 测试
scrapy shell "https://pixabay.com" -s USER_AGENT='Mozills/5.0'
curl https://pixabay.com -d project=myproject -d spider=spider1 -d part=1
https://img.1ppt.com/uploads/allimg/2306/1_230613164831_1.jpg
https://ppt.1ppt.com/uploads/soft/2306/1-230613164Q5.zip
# 带head头请求
scrapy shell -s USER_AGENT="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36" https://www.1ppt.com/plus/download.php?open=0&aid=31928&cid=3
Scrapy 安装
安装
# 升级pip
pip install --upgrade pip
# 安装scrapy
pip install scrapy
常用扩展安装
# 安装MongoDB
pip install pymongo
# 安装Mysql
pip install PyMySQL
# 安装Redis
pip install redis
# 模拟浏览器行为抓取
pip install selenium
# 安装阿里云OSS2模块
pip install oss2
# 安装七牛
pip install qiniu
# 安装简繁字体转换模块
pip install zhconv
# 安装图像处理模块py3
pip install Pillow
# 处理pptx文件扩展
pip install python-pptx
# 安装imagemagick
yum install libjpeg libjpeg-devel libpng libpng-devel libtiff libtiff-devel libungif libungif-devel freetype zlib
yum install ImageMagick
convert -version
安装libreoffice
# 官网下载地址
https://www.libreoffice.org/download/download-libreoffice/
# 下载安装
wget https://download.documentfoundation.org/libreoffice/stable/7.5.4/rpm/x86_64/LibreOffice_7.5.4_Linux_x86-64_rpm.tar.gz
tar -zxvf LibreOffice_7.5.4_Linux_x86-64_rpm.tar.gz
cd LibreOffice_7.5.4.2_Linux_x86-64_rpm/RPMS
yum localinstall *.rpm
yum install libreoffice-headless
yum install libreoffice-writer
# 查看版本
libreoffice --version
# 安装字体支持
yum -y install cups-libs fontconfig ibus
# 在/usr/share目录就可以看到fonts和fontconfig目录了
ls /usr/share |grep font
# 复制windowns字体(C:\Windows\Fonts)
# 首先在/usr/share/fonts目录下新建一个目录chinese,并将中文字体上传至/usr/share/fonts/chinese目录下
mkdir /usr/share/fonts/chinese
chmod -R 755 /usr/share/fonts/chinese
# 基础字体库
wget http://back.meimg.com/fonts.zip
# 修改字体文件
vim /etc/fonts/fonts.conf
yum -y install ttmkfdir
# 然后执行ttmkfdir命令即可
ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
# 刷新内存中的字体缓存,这样就不用reboot重启了
fc-cache
# 看一下字体列表
fc-list
# 导出实例
docx
/usr/bin/libreoffice7.4 --headless --language=zh-CN --invisible --convert-to pdf 11.pptx --outdir ./
常见问题处理
OpenSSL 升级
查看版本
# 查看当前OpenSSL的版本
openssl version
openssl version -a
# 查看python使用ssl版本
python -c "import ssl; print(ssl.OPENSSL_VERSION)"
# 查看OpenSSL的安装位置
which openSSL
安装新版本
# 直接到官网下载
wget https://www.openssl.org/source/openssl-1.1.1n.tar.gz
wget https://www.openssl.org/source/openssl-1.1.1e.tar.gz
# 解压
tar -zxvf openssl-1.1.1n.tar.gz
# 进入到解压后的目录下
cd openssl-1.1.1n
./config --prefix=/usr/local/openssl no-zlib
make && make install
# 备份原有文件
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl/ /usr/include/openssl.bak
# 创建软连接
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
# 安装 2.7版本
LD_RUN_PATH="/usr/local/openssl/lib" LDFLAGS="-L/usr/local/openssl/lib" CPPFLAGS="-I/usr/local/openssl/include" CFLAGS="-I/usr/local/openssl/include" CONFIGURE_OPTS="--with-openssl=/usr/local/openssl" pyenv install 2.7.12
ln -s /usr/local/openssl/lib/libcrypto.so.1.0.0 /usr/local/openssl/lib/libcrypto.so
ln -s /usr/local/openssl/lib/libssl.so.1.0.0 /usr/local/openssl/lib/libssl.so
# 重新安装python 3.8.0
LD_RUN_PATH="/usr/local/openssl/lib" LDFLAGS="-L/usr/local/openssl/lib" CPPFLAGS="-I/usr/local/openssl/include" CFLAGS="-I/usr/local/openssl/include" CONFIGURE_OPTS="--with-openssl=/usr/local/openssl" pyenv install 3.8.0
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 [email protected]