Python实战教程之爬虫常用库的安装

基础爬虫包

python安装后,一般自带包:urllib、re。可通过如下命令检测是否成功安装。

>>> urllib.request.urlopen('http://www.baidu.com')
<http.client.HTTPResponse object at 0x0000000002EF03C8>
>>> import urllib
>>> import urllib.request
>>> urllib.request.urlopen('http://www.baidu.com')
<http.client.HTTPResponse object at 0x0000000002EF0780>
>>> import re
>>>

安装requests包:

pip3 install requests

验证安装是否正确:

>>> import requests
>>> requests.get('http://www.baidu.com')
<Response [200]>
>>>

selenium的安装:

selenium包一般用于自动化测试驱动浏览器。为什么爬虫需要用到它?试想,如果一个浏览器的内容是js渲染出来的,那么爬虫需要爬取渲染后的页面数据,这时候selenium就派上用场了。

首先检测环境是否已安装selenium,命令如下:

>>> import selenium
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'selenium'
>>>

说明系统并未安装Selenium,接下来让我们安装selenium,命令如下:

pip install selenium

chromedriver的安装

可通过如下镜像地址下载安装:http://npm.taobao.org/mirrors/chromedriver/

下载完后,将exe文件放入Python安装目录D:\Python36\Scripts(或D:\ProgramData\Anaconda3\Scripts)中即可使用。

验证是否生效:

C:\Users\Administrator.WIN-LNS9GDKO30J>chromedriver
Starting ChromeDriver (v2.9.248315) on port 9515

让我们打开Chrome试试

C:\Users\Administrator.WIN-LNS9GDKO30J>python
Python 3.6.0 |Anaconda 4.3.1 (64-bit)| (default, Dec 23 2016, 11:57:41) [MSC v.1
900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from selenium import webdriver
>>> driver = webdriver.Chrome()
>>> driver.get('http://www.baidu.com')

查看网页源码:

>>> driver.page_source

你可能会遇到的问题及解决方法:http://www.codedocs.net/blog/1273

phantomjs

网页爬虫如果每次打印浏览器还是不方便的,如果我们希望无界面进行爬取,那么可以使用phantomjs

(注:更高版本的selenium可能不再支持phantomjs,而是Selenium+Headless Chrome的组合)

下载地址:http://npm.taobao.org/dist/phantomjs/

下载完后解压,将phantomjs.exe驱动包扔进Python的安装目录Scripts下面。

验证安装情况:

C:\Users\Administrator.WIN-LNS9GDKO30J>phantomjs
phantomjs> console.log('hello codedocs.net')
hello codedocs.net
undefined

接下来,我们试试无浏览器方式获取网页源码

>>> from selenium import webdriver
>>> driver = webdriver.PhantomJS()
>>> driver.get('http://www.baidu.com')
>>> driver.page_source

安装lxml

lxml提供了xpath高效解析网页元素的方式。下面让我们安装下lxml

C:\Users\Administrator.WIN-LNS9GDKO30J>pip install lxml

(当然,你也可以直接下载对应的whl包到本地进行安装。前提是先安装:pip install wheel)

安装beautifulsoup

beautifulsoup实际也是一个网页解析库,解析网页也是非常方便。值得注意是,beautifulsoup依赖lxml库。

pip install beautifulsoup4

验证安装:

C:\Users\Administrator.WIN-LNS9GDKO30J>python
Python 3.6.0 |Anaconda 4.3.1 (64-bit)| (default, Dec 23 2016, 11:57:41) [MSC v.1
900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup('<html></html>','lxml')

安装pyquery

pyquery实际也是一个网页解析库。语法与jquery几乎完全一致,使用起来非常方便。

接下来让我们安装这个库:

C:\Users\Administrator.WIN-LNS9GDKO30J>pip install pyquery
Collecting pyquery
  Downloading https://files.pythonhosted.org/packages/09/c7/ce8c9c37ab8ff8337faa
d3335c088d60bed4a35a4bed33a64f0e64fbcf29/pyquery-1.4.0-py2.py3-none-any.whl
Requirement already satisfied: lxml>=2.1 in d:\programdata\anaconda3\lib\site-pa
ckages (from pyquery)
Collecting cssselect>0.7.9 (from pyquery)
  Downloading https://files.pythonhosted.org/packages/7b/44/25b7283e50585f0b4156
960691d951b05d061abf4a714078393e51929b30/cssselect-1.0.3-py2.py3-none-any.whl
Installing collected packages: cssselect, pyquery
Successfully installed cssselect-1.0.3 pyquery-1.4.0

验证安装情况:

C:\Users\Administrator.WIN-LNS9GDKO30J>python
Python 3.6.0 |Anaconda 4.3.1 (64-bit)| (default, Dec 23 2016, 11:57:41) [MSC v.1
900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from pyquery import PyQuery as pq
>>> doc = pq('<html>codedocs.net</html>')
>>> result = doc('html').text()
>>> result
'codedocs.net'
>>>

pyquery语法API文档:https://pythonhosted.org/pyquery/api.html

安装pymysql

pymysql用于操作mysql数据库,安装命令如下:

pip install pymysql

新建数据库python,并添加账号pythoner/123456。并新建表student,插入一条数据。

grant select,insert,update,delete on python.* to pythoner@'%' identified by '123456';

验证安装情况:

C:\Users\Administrator.WIN-LNS9GDKO30J>python
Python 3.6.0 |Anaconda 4.3.1 (64-bit)| (default, Dec 23 2016, 11:57:41) [MSC v.1
900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pymysql
>>> conn = pymysql.connect(host='localhost',user='pythoner',password='123456',port=3306,db='python')
>>> cursor = conn.cursor()
>>> cursor.execute('select * from student')
1
>>> cursor.fetchone()
(1, '张三')
>>>

安装pymongo

pymongo用于操作pymongo数据库,在做爬虫时mongo数据库存储数据是比较方便的。它的安装方式如下:

pip install pymongo

验证安装及使用:

QQ图片20180812142454.png

安装redis

redis是一个非关系型数据库,采用key:value形式存储。存储效率非常高效,常用于分布式爬虫。它的安装方式:

pip install redis

验证安装及使用:

QQ图片20180812142826.png

安装flask

flask是一个web库。另外,也可用于代理的一些设置。安装方式如下:

pip install flask

fask的官方文档:http://docs.jinkan.org/docs/flask/

轻松的实现一个最小web应用:http://docs.jinkan.org/docs/flask/quickstart.html#a-minimal-application


安装django

Django 项目是一个Python定制框架,它源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django 框架的核心组件有:

  1. 用于创建模型的对象关系映射

  2. 为最终用户设计的完美管理界面

  3. 一流的 URL 设计

  4. 设计者友好的模板语言

  5. 缓存系统。

它的安装方式:

pip install django

安装jupyter

jupyter可以理解为是运行在网页端的一个记事本。可以在线写代码和调试。它的安装方式:

pip install jupyter

启用在线笔记本命令:

jupyter notebook

会自动打开如下代码管理界面:

QQ图片20180812145210.png

Linux、Mac安装爬虫库

pip install requests selenium beautifulsoup4 pyquery pymysql pymongo redis flask django jupyter


评论

*
*