zoukankan      html  css  js  c++  java
  • Python爬虫学习==>第五章:爬虫常用库的安装

    学习目的:

             爬虫有请求库(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: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. 然后浏览器会自动打开应用程序

    学习总结:


     

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

  • 相关阅读:
    Mac下Selenium无法最大化Chrome解决方案
    Mac环境配置好ant后提示Permission denied
    禁止Chrome浏览器自动升级
    Selenium滚动条window.scrollTo和window.scrollBy
    Windows和Linux如何使用Java代码实现关闭进程
    自动化测试框架Selenium工作原理
    Mac下用SSH连接远程Linux或Mac服务器
    mac显示隐藏文件
    Selenium自动化测试脚本中三种等待时间简介
    Java虚拟机之栈
  • 原文地址:https://www.cnblogs.com/wuzhiming/p/8673390.html
Copyright © 2011-2022 走看看