python3爬虫学习笔记(一)

引言

学习笔记来源于崔庆才《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网络爬虫开发实战》

你可能感兴趣的:(python3爬虫学习笔记(一))