引言
学习笔记来源于崔庆才《python3网络爬虫开发实战》,算是简单的入门,其中需要用到的一些python基础,可以参考《python基础教程》
1.开发环境配置
工欲善其事,必先利其器。开发环境包括了python3,请求库,解析库,数据库,存储库,app爬取库,爬虫框架等。
2.关于mac下库的安装
这边强烈推荐homebrew和anaconda,两者都是mac平台下包管理工具
homebrew安装
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装python3
brew install python3
关于anaconda下的安装,可以直接下载该软件,进行安装,默认自带了python以及jupyter。
3.请求库安装
爬虫主要步骤就是:抓取、解析、存储。
而在抓取
过程中,需要模拟浏览器向服务器发送请求,需要用到requests,Selenium
这些库
- requests库
pip3 install requests
- Selenium库
Selenium是一个浏览器自动化测试框架,简言之就是可以模拟用户对浏览器的操作。
1.pip3 install selenium
selenuim需要配合浏览器使用,需要安装ChromeDriver来使用
2.brew cask install chromedriver
可以安装ChromeDriver
测试安装是否成功,在终端输入,如果弹出浏览器窗口,则说明安装成功。
from import selenium import webdriver
browser = webdriver.Chrome()
- plantomJS是一个无界面浏览器引擎,selenium时不用弹窗,但是2018.3.4作者发文暂停开发。
brew cask install plantomjs
但是会有问题,如下报错Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox
查找原因在这篇博客里可以得到解决selenium+Phantomjs报错解决方案
解决方案有两种
1.selenium版本降级
2.使用无界面浏览器。
我选择了第一种
重新安装selenium,选择旧版本
pip install selenium==2.48.0
测试结果:
4.解析库安装
1.lxml,Beautiful Soup
两者都是支持html,xml的解析库
pip3 install lxml
pip3 install beautifulsoup4
2.tesserocr
用于解析图形验证码,OCR是光学字符识别,通过扫描字符,将形状翻译成电子文本。
mac下安装,参考博文tesseract-OCR配置
brew install imagemagick
brew install tesseract
#安装模块来调用tesseract工具,是对tesseract的封装
sudo pip install pytesseract
#使用
import pytesseract
from PIL import Image
img = Image.open('./test.png') #先创建image对象
text = pytesseract.image_to_string(img) #直接转化成string,更多参数可以查看文档
repr(text) #"u'Hello world!\\n1234'"
5.数据库安装
Mysql和MongoBD,分别是关系型数据库和非关系型数据库
MongoDB是一个基于分布式文件存储开源数据库系统,存储形式类似于json对象。
#安装
brew install mongodb
#启用
brew services start mongodb
sudo mongod
6.python交互数据库安装
1.pymysql
2.pymongo
pip3 install pymysql
pip3 install pymongo
#检查
pymsql.VERSION
pymongo.version
APP爬取相关库
由于app没有浏览器这类直观的查看元素的工具,所以要用一些抓包来获取数据
1.charles
2.mitmproxy
3.mitmdump
1.2用于简单借口,3用于复杂借口,其中charles比fiddler功能更多,跨平台更友好。
第二部分是爬虫基础爬虫学习笔记(二)
参考
- 《python3网络爬虫开发实战》