Python爬虫学习==>第五章:爬虫常用库的安装

摘要:
http.client.HTTPResponseobjectat0x0000000002F05F60>Pip3installrequests验证成功安装的代码示例&gt//Www.baidu.com“)<Response[2000]>pip3installselenium测试代码>Python 36脚本使用selenium库打开chrome浏览器代码示例:
学习目的:

         爬虫有请求库(request、selenium)、解析库、存储库(MongoDB、Redis)、工具库,此节学习安装常用库的安装

正式步骤

Step1:urllib和re库


 

  1. 这两个库在安装Python中,会默认安装,下面代码示例调用:
    >>> import urllib
    >>> import urllib.request
    >>> urllib.request.urlopen("http://www.baidu.com")
    <http.client.HTTPResponse object at 0x0000000002F05F60>
    >>> import re

    导入时,没有回显,就表示安装正确,可以正常使用

Step2:requests库安装


 

  1. 打开windows命令行cmd,输入命令:pip3 install requests
    Python爬虫学习==&gt;第五章:爬虫常用库的安装第1张
  2. 验证安装成功的代码示例
    >>> import requests
    >>> requests.get("http://www.baidu.com")
    <Response [200]> 

Step3:selenium库的安装


 

  1. 自动化测试的根基
  2. 在cmd中输入命令:pip3 install selenium
  3. 测试代码
    >>> import selenium
    >>> from selenium import webdriver
  4. 安装Chromedriver,打开http://npm.taobao.org/mirrors/chromedriver   ,点击下载chromedriver_win32.zip
  5. 解压后,把 chromedriver.exe 放到D:Python36Scripts
  6. 使用selenium库打开chrome浏览器代码示例:
    >>> from selenium import webdriver
    >>> driver = webdriver.Chrome()

    运行后,会打开一个谷歌浏览器,此外需要注意的是chrome版本需要大于等于55,因为驱动是这样的要求

Step4:phantomjs  


 

  PhantomJS 是一个基于WebKit的服务器端 JavaScript API。它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG。PhantomJS可以用于页面自动化,网络监测,网页截屏,以及无界面测试等。

简而言之:基于WebKit的,没有界面的浏览器。

  闪亮的功能点:PhantomJS可以用于页面自动化,网络监测,网页截屏,以及无界面测试。

  优势:跨平台,易上手。

安装步骤:

  1. 下载网址http://phantomjs.org/download.html
  2. 解压,获得phantomjs.exe 文件路径 D:phantomjs-2.1.1-windowsin,然后配置到用户变量中的path变量中
  3. 打开cmd,输入:phantomjs

ps:chrome headlessl可以替代phantomjs,为什么呢?因为selenium不再支持phantomjs了

Step5:chrome headless


 

  测试代码(刚刚百度来的):这个是chrome的示例

from selenium import webdriver
options=webdriver.ChromeOptions()
options.set_headless()
# options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver=webdriver.Chrome(options=options)
driver.get('http://httpbin.org/user-agent')
driver.get_screenshot_as_file('test.png')
driver.close()

  FireFox浏览器的示例:

  

from selenium import webdriver
options = webdriver.FirefoxOptions()
options.set_headless()
# options.add_argument('-headless')
options.add_argument('--disable-gpu')
driver=webdriver.Firefox(firefox_options=options)
driver.get('http://httpbin.org/user-agent')
driver.get_screenshot_as_file('test.png')
driver.close()

Step6:lxml


  简介:lxml是python中处理xml的一个非常强大的库,可以非常方便的解析和生成xml文件。

  1.  安装命令:pip3 install lxml
    PS:如果安装失败了,可以多试几次,或者使用whl安装

Step7:beautifulsoup


 

   简介:Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库。它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间。

  安装步骤:

  1. 依赖lxml库,所以要先安装lxml
  2. cmd: pip3 install beautifulsoup4
  3. 测试代码:
    >>> from bs4 import BeautifulSoup
    >>> soup = BeautifulSoup('<html></html>','lxml')
    >>> 

Step8:pyquery


 

  简介:pyquery相当于jQuery的python实现,可以用于解析HTML网页等。它的语法与jQuery几乎完全相同。

  安装步骤:

  1. 安装命令: pip3 install pyquery
  2. 测试代码
    >>> from pyquery import PyQuery as pq
    >>> doc = pq('<html>Python</html>')
    >>> result = doc('html').text()
    >>> result
    'Python'

    pyquery的基础使用方法可以参考:https://www.cnblogs.com/lei0213/p/7676254.html

Step9:pymysql


 

  简介:PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库

  安装步骤:

  1. 命令:pip3 install pymysql
  2. 测试代码:
    >>> import pymysql
    >>> conn = pymysql.connect(host='localhost',user='root',password='123456',port=3306,db='mysql')
    >>> cursor = conn.cursor()
    >>> cursor.execute('select * from db')
    2
    >>> cursor.fetchone()
    ('localhost', 'performance_schema', 'mysql.session', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N')
    >>> cursor.fetchall()
    (('localhost', 'sys', 'mysql.sys', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'Y'),)

Step10:pymongo


 

  简介:PyMongo是驱动程序,使python程序能够使用Mongodb数据库,使用python编写而成

   安装步骤:

  1. 安装命令:pip3 install pymongo
  2. 测试代码:
    >>> import pymongo
    >>> client = pymongo.MongoClient('localhost')
    >>> db = client['newtest']
    >>> db['table'].insert({'name':'python'})
    ObjectId('5abe67d64bc36b29c0a61a03')
    >>> db['table'].find_one({'name':'python'})
    {'_id': ObjectId('5abe67d64bc36b29c0a61a03'), 'name': 'python'}

Step11:redis


 

  简介:Python分布式爬虫比較经常使用的应该是scrapy框架加上Redis内存数据库,中间的调度任务等用scrapy-redis模块实现。

  安装步骤:

  1. 安装命令:pip3 install redis
  2. 测试代码:
    #数据的插入和获取
    >>> import redis
    >>> r = redis.Redis('localhost',6379)
    >>> r.set('name','python')
    True
    >>> r.get('name')

Step12:flask


 

  简介:Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务

  安装步骤:

  1. 安装命令:pip3 install flask
  2. 测试代码:
    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    
    if __name__ == '__main__':
        app.run()

    参考文档:官方文档:http://docs.jinkan.org/docs/flask/

Step13:django


  简介:web服务器框架

  安装步骤:

  1. 安装命令:pip3 install django
  2. 测试代码 import django

Step14:jupyter


 

  安装步骤:

  1. 安装命令: pip3 install jupyter
  2. 运行->打开cmd,输入:jupyter notebook
  3. 然后浏览器会自动打开应用程序
学习总结:
 

  生活过于安逸,是感觉不到行业的竞争压力,所以还是多学习,增强自己的测试的核心竞争能力吧。

免责声明:文章转载自《Python爬虫学习==&amp;gt;第五章:爬虫常用库的安装》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JS文件在WebLogic服务器乱码java 基础功能下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

postgresql批量备份和恢复数据表

备份数据库:pg_dump -h localhost -U root demo02 > /home/arno/dumps/demo02.bak恢复数据库:psql -h localhost -U root -d demo <  demo.bak备份表:pg_dump -h localhost -U root demo02 -t books &g...

30道linux运维面试题(很精典)

https://zhangge.net/1986.html 1.linux 如何挂在 windows 下的共享目录         Shell   1 mount.cifs//192.168.1.3/server/mnt/server-ouser=administrator,pass=123456 linux 下的 server 需要自己手动建...

linux上实现jmeter分布式压力测试(转)

摘要:最近根据公司工作的需求,学习了一些压力测试的知识,目前,公司使用的是jmeter进行压力测试。下面就记录下近期的学习。我想将这次的博文分成三个部分:1、开始测试前的准备(测试环境的搭建)2、在一台linux上测试3、多台linux分布式测试首先来看看测试环境的搭建。我是自己创建的linux虚拟机,所以就用它来说说吧。安装linux的过程就不多说了,...

新浪实时股票数据接口1

股票数据的获取目前有如下两种方法可以获取:1. http/javascript接口取数据 2. web-service接口 1.http/javascript接口取数据 1.1Sina股票数据接口 以大秦铁路(股票代码:601006)为例,如果要获取它的最新行情,只需访问新浪的股票数据接口:http://hq.sinajs.cn/list=sh601006...

lodash按需引入

lodash提供了很多可用的方法供我们使用,绝对是一个很好用且用起来得心应手的工具库。但是同时,lodash的体积也不小,我们项目中使用的大概522K,可能只是使用了几个方法,但是却把整个lodash库引入了。为了吃几条鱼,就承包了整个鱼塘,代价有点大呀! 对于这个问题,有几种方案可供选择。 一.引入单个函数  lodash整个安装完之后,引用方式: lo...

Django之缓存、信号和图片验证码、ORM性能

一、 缓存 1、 介绍 缓存通俗来说:就是把数据先保存在某个地方,下次再读取的时候不用再去原位置读取,让访问速度更快。 缓存机制图解 2、Django中提供了6种缓存方式   1. 开发调试   2. 内存   3. 文件   4. 数据库   5. Memcache缓存(python-memcached模块)   6. Memcache缓存(pyl...