zoukankan      html  css  js  c++  java
  • Python 编程快速上手 第十一章 Web scrapping

    前言

    这一章讲了如何在 Web 上抓取相关的信息,工具是三个模块:

    1. webbrowser 模块:用于打开浏览器指定页面
    2. requests 模块:用于下载文件
    3. Beautiful Soup 模块:用于解析 HTML 
    4. selenium 模块:用于自动控制一个 Web 浏览器,比如模拟鼠标点击链接,键盘输入等等。

    webbrowser 模块

    导入:import webbrowser
    格式:webbrowser.open('http://url.com')
    功能:它的 open() 函数可用于打开一个网站。

    request 模块

    下载文件

    导入:import requests
    格式:request.get('http://www.url.com/pg1112.txt')
    功能:它的 get() 函数可用于下载一个网页或者文件,返回一个 Response 对象。

    打开文件

    格式:response.open('example.txt','wb')
    功能:接受第一个参数为文件的字符串,第二个参数为‘wb',表示用二进制打开,目的是为了保护文件的 Unicode 编码。

    写入文件

    格式:
    response.iterate_content(10000):可利用其参与循环
    open.write():将内容写入文件

    Beautiful Soup 模块

    导入:import bs4
    功能:解析 HTML 

    进行解析的步骤:

    1. 创建一个 BeautifulSoup 对象:格式 beauObj = bs4.beautifulSoup(res.text),返回一个 BeautifulSoup 对象。
    2. 使用 select() 函数查找元素: beaiObj.select(),返回一个所选择对象的列表。
    3. (可选):使用 str(list),将列表转换为一个字典,可以使用这个字典的 attrs 属性和 get('id') 方法进行查看 HTML 的属性,

    selenium 模块

    打开浏览器

    导入:from selenium import webdriver
    格式:browser = webdriver.Safari()
    功能:打开一个浏览器,返回一个 WebDriver 数据类型的对象。

    查找元素

    格式:browser.find_element_by_id(id) 等等
    功能:查找 Web 上特定的元素,返回一个 WebElement 对象。

    WebElement 对象包含的方法

    1. click():用于点击页面

    2. send_keys(): 用于进行键盘输入

    输入特殊键需要用到 from selenium.webdriver.common.keys import Keys
    格式:send_keys(Keys.DOWN)

    3.操作浏览器进程

    browser.back():返回
    browser.forward():前进
    browser.refresh():刷新页面
    browser.quit():关闭页面





  • 相关阅读:
    Xilinx之软件平台 ISE与Vivado前世今生
    博客开园
    第一天:开始你的Jobeet项目
    MySQL之alter语句用法总结
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    MySQL中distinct和group by性能比较[转]
    GROUP BY,WHERE,HAVING之间的区别和用法
    split(),preg_split()与explode()函数分析与介
    解析posix与perl标准的正则表达式区别
    sql关键字的解释执行顺序
  • 原文地址:https://www.cnblogs.com/FBsharl/p/10313659.html
Copyright © 2011-2022 走看看