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():关闭页面

上一篇:Struts01---入门小案例


下一篇:带有“非简单参数”的函数为什么不能包含 "use strict" 指令