学习目的:

爬虫有请求库(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
  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:\Python36\Scripts
  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-windows\bin,然后配置到用户变量中的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='',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爬虫学习==>第五章:爬虫常用库的安装的更多相关文章

  1. Python爬虫学习==>第七章:urllib库的基本使用方法

    学习目的: urllib提供了url解析函数,所以需要学习正式步骤 Step1:什么是urllib urllib库是Python自带模块,是Python内置的HTTP请求库 包含4个模块: >& ...

  2. KOA 学习(五)koa常用库koa-swig

    koa-swig 引入库app.js var render = require('koa-swig'); 模版设置app.js app.context.render = co.wrap(render( ...

  3. Python爬虫学习:三、爬虫的基本操作流程

    本文是博主原创随笔,转载时请注明出处Maple2cat|Python爬虫学习:三.爬虫的基本操作与流程 一般我们使用Python爬虫都是希望实现一套完整的功能,如下: 1.爬虫目标数据.信息: 2.将 ...

  4. Python爬虫学习:二、爬虫的初步尝试

    我使用的编辑器是IDLE,版本为Python2.7.11,Windows平台. 本文是博主原创随笔,转载时请注明出处Maple2cat|Python爬虫学习:二.爬虫的初步尝试 1.尝试抓取指定网页 ...

  5. scrapy爬虫学习系列五:图片的抓取和下载

    系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备:      http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...

  6. 进击的Python【第十五章】:Web前端基础之DOM

    进击的Python[第十五章]:Web前端基础之DOM 简介:文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示 ...

  7. windows下python常用库的安装

    windows下python常用库的安装,前提安装了annaconda 的python开发环境.只要已经安装了anaconda,要安装别的库就很简单了.只要使用pip即可,正常安装好python,都会 ...

  8. python 教程 第十五章、 结构布局

    第十五章. 结构布局 #!/usr/bin/env python #(1)起始行 "this is a module" #(2)模块文档 import sys #(3)模块导入 d ...

  9. Java基础知识二次学习--第五章 数组

    第五章 数组 时间:2017年4月26日15:11:30~2017年4月26日15:15:54 章节:05章_01节  视频长度:09:30 内容:一维数组的内存分析 心得: Java中数组是引用类型 ...

随机推荐

  1. windows下基于IIS配置ssl证书遇到的坑

    前几天配置windows下基于IIS配置ssl证书 完全按照步骤执行 绑定https网址后,一直显示:无法访问此网站 检查了443端口,还有防火墙限制,没发现什么 足足困扰了我好几天 后来突然想到前不 ...

  2. React组件:拖拽布局Dragact v0.1.6 发布

    仓库地址:Dragact爽滑的拖拽组件 大家好,新年已经过去,大家又投入了繁忙的工作当中,由于我在国外,因此压根儿没有休息... 少说废话,上周一周的时间里,我陆陆续续的为Dragact组件进行了一系 ...

  3. SSM框架中使用日志框架

    在 pom,xml 配置 Log4j jar 添加一个 mybatis_log.xml 文件 完整配置信息 <?xml version="1.0" encoding=&quo ...

  4. CodeForces 788A - Functions again [ DP ]

    反着求一遍最大连续子序列(前项依赖) #include <bits/stdc++.h> using namespace std; #define LL long long ; int n; ...

  5. JavaScript基础之变量的自增与自减

    一.自增(++) ⑴什么是自增? 通过自增运算符可以使变量在自身的基础上加一: 对于一个变量自增以后,原变量的值会立即自增一: 示例: <!DOCTYPE html> <html l ...

  6. (考试大整理~)Xxy 的车厢调度

    这一题我以前研究过哈哈哈~ (train.cpp/c/pas) Description 有 一 个 火 车 站 , 铁 路 如 图 所 示 ,每辆火车从 A 驶入,再从 B 方向驶出,同时它的车厢可以 ...

  7. HDU 5119 Happy Matt Friends ——(背包DP)

    题意:有最多40个数字,取任意个数字他们的异或和>=k则是可行的方案,问有多少种可行的方案. 分析:dp[now][j]表示当前这个值的种类数,那么转移方程为dp[now][j] = dp[pr ...

  8. Data Science Competition中的工具汇总

    除了基础的pandas,scikit-learn,numpy,matplotlib,seaborn以外 ( 1 ) category_encoders github 属于scikit-learn co ...

  9. Linux远程连接工具 Shell Xshell6 XFtp6 绿色破解免安装版

    百度云下载链接: https://pan.baidu.com/s/1HMkuxv1yaAM1yhtz09zpfQ 关注以下公众号,回复xshell,获取提取码 关注公众号githubcn,免费获取更多 ...

  10. LeetCode 137. 只出现一次的数字 II(Single Number II)

    题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 1: ...