一直觉得爬虫是一个很有趣的方向,在互联网时代,谁掌握了数据,谁就掌握了未来,而爬虫就是获取数据的方法之一。这一系列文章是我在阅读“Python3网络爬虫开发实践”一书以及其他线上资料学习爬虫过程中的一些笔记和心得,希望能分享给大家。
第一章,开发环境配置
安装Python3.8
我开发的环境是Ubuntu16.04,安装Python最新版本的方法如下:
sudo apt-get update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
tar -xf Python-3.8.0.tgz
cd Python-3.8.0
./configure --enable-optimizations
make -j 8
sudo make altinstall
python3.8 --version
安装第三方库和工具
要进行爬虫的实践,我们需要还原爬虫的步骤,主要分为以下几步:
分析不同的网站,寻找爬取目标URL
分析URL参数
发起请求,抓取网页
内容处理
数据存储
所以学习过程中也需要一些工具和库来模拟其中的步骤,我是根据Python3网络爬虫开发实践推荐的第三方库进行安装和进一步学习的。根据以上步骤对应安装的工具和第三方库如下:
请求库
a. request: pip3 install request
b. Selenium,自动化测试工具,可以驱动浏览器执行特定动作: pip3 install selenium
c. 浏览器及浏览器驱动(用于对接Selenium),我用的Firefox和GeckoDriver
download from https://github.com/mozilla/geckodriver/releases
mv geckodriver /usr/bin
vi ~/.profile #export PATH="$PATH:/usr/local/geckodriver"
source ~/.profile
geckodriver #启动
d. PhantomJS
e. aiohttp: pip3 install aiohttp
解析库
a.lxml,支持HTML和XML的解析: pip3 install lxml
b.Beautiful Soup,支持HTML和XML的解析: pip3 install beautifulsoup4
c.pyquery,jQuery语法解析HTML文档和CSS选择器: pip3 install pyquery
d.tesserocr,验证码识别: sudo apt-get intall -y tesserocr-ocr libtesserocr-dev libleptonica-dev
数据库
a.MySQL
sudo apt-get install -y mysql-server mysql-client
sudo service mysql start
sudo service mysql stop
sudo service mysql restart
b.Redis
sudo apt-get install -y redis-server
存储库 (Python用于与数据库交互的存储库)
a.PyMySQL: pip3 install pymysql
b.PyMongo: pip3 install pymongo
c.redis-py: pip3 install redis
d.RedisDump: pip3 install redis-dump
Web库
a.Flask: pip3 install flask
b.Tornado: pip3 install tornado
爬虫框架
a.pyspider: pip3 install pyspider
b.Scrapy: pip3 install Scrapy
c.Scrapy-Splash: pip3 install scrapy-splash
d.Scrapy-Redis: pip3 install scrapy-redis
部署
a.Docker https://docs.docker.com/insta...
b.Scrapyd: pip3 install scrapyd
c.Scrapyd-Client: pip3 install scrapyd-client
d.Scrapyd API: pip3 install python-scrapyd-api
e.Scrapyrt: pip3 install scrapyrt
f.Gerapy: pip3 install gerapy