前言

这一章讲了如何在 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():关闭页面

Python 编程快速上手 第十一章 Web scrapping的更多相关文章

  1. Python 编程快速上手 第六章总结

    第六章 字符串操作 前言 这一章节讲了关于 Python 中字符串类型的知识.与字符串有关的操作符,方法等等. 处理字符串:字符串的写入.打印.访问的知识 原始字符串 格式:r'string'作用:在 ...

  2. Python 编程快速上手 第五章总结

    第五章 字典和结构化数据 创建数组 格式:myCat = {'size':'fat','color':'gray',disposition':'loud'} 对字典的操作 通过[ ] 访问字典的值 [ ...

  3. python编程快速上手第7章习题20

    20.如何写一个正则表达式,匹配每 3 位就有一个逗号的数字?它必须匹配以下数字:'42''1,234''6,368,745'但不会匹配: '12,34,567' (逗号之间只有两位数字) '1234 ...

  4. Python 编程快速上手 第十七章 操作图像

    前言 在这一章节,讲了关于图像的三个方面的内容: 获得图像的相关信息:例如 RGBA 值,尺寸... 对图像进行编辑操作:例如 旋转,缩放... 在图像上绘制形状:例如 矩形,圆形... [Image ...

  5. Python 编程快速上手 第七章总结

    前言 在 Word 软件中,我们总是习惯使用 CMD+F 用来查找和替换文本,但是,正如作者所说: 虽然计算机可以很快地查找文本,但你必须精确地告诉它要找什么. 我们往往想要查找一类文本,比如一段文本 ...

  6. Python编程快速上手-让繁琐工作自动化-第二章习题及其答案

    Python编程快速上手-让繁琐工作自动化-第二章习题及其答案 1.布尔数据类型的两个值是什么?如何拼写? 答:True和False,使用大写的T和大写的F,其他字母是小写. 2.3个布尔操作符是什么 ...

  7. 入门python:《Python编程快速上手让繁琐工作自动化》中英文PDF+代码

    入门推荐学习<python编程快速上手>前6章是python的基础知识,通俗易懂地讲解基础,初学者容易犯错的地方,都会指出来.从第三章开始,每章都有一个实践项目,用来巩固前面所学的知识. ...

  8. 《Python编程快速上手 —让繁琐工作自动化》|百度网盘免费下载|Python自动化办公

    Python编程快速上手—让繁琐工作自动化 提取码:u8vj 如今,人们面临的大多数任务都可以通过编写计算机软件来完成. Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言.通过 P ...

  9. Python编程快速上手 让繁琐工作自动化 - 专业程序员的养成完整版PDF免费下载_百度云盘

    Python编程快速上手  让繁琐工作自动化 - 专业程序员的养成完整版PDF免费下载_百度云盘 提取码:7qm4 有关本书 累计销售超过10万册 零基础编程者的不二之选 基于Python3编写 通用 ...

随机推荐

  1. 针对Xcode 9 + iOS11 的修改,及iPhone X的适配

    1,UIScrollView的automaticallyAdjustsScrollViewInsets 失效了. automaticallyAdjustsScrollViewInsets,当设置为YE ...

  2. PT,PX,DPI

    [iOS]查找数组NSArray中是否包含指定的元素 http://blog.csdn.net/zyq527758142/article/details/51278172 Dpi(每平方英寸像素数目) ...

  3. Linux驱动开发调试 -- 打开dev_dbg()【转】

    本文转载自:https://blog.csdn.net/kunkliu/article/details/78048618 转载地址:http://blog.chinaunix.net/uid-2284 ...

  4. 好用的js模板

    组织form下的 json对象 $.fn.serializeObject = function() { var o = {"unique_id":new Date().getTim ...

  5. SQL Server 常见数据类型介绍

    数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 整数类型 int 存储范围是-2,147,483,648到2,147,483,6 ...

  6. Docker run 出现问题如何调试?

    docker run -ti 3f5dd697cc83 /bin/bash #进入image的目录 ls -l #列出所有目录 dotnet run WestWin.Ads.Crawler.WebAp ...

  7. ZooKeeper分布式过程协同技术详解2——了解ZooKeeper

    这个服务如何实现这些协作方面的原语? ZooKeeper基础

  8. js 模块化规范

    模块规范 CommonJS module.exports, exports 导出模块 require 加载模块, CommonJS 同步,服务端.实践者: nodejs ES6 export, exp ...

  9. 解析Django路由层URLconf

    目录: 一  Django中路由的作用 二  路由的分组 三  路由分发 四  反向解析 五  名称空间 六  Django2.0版的path 一.Django中路由的作用 URL配置(URLconf ...

  10. 51nod 1052 最大M子段和

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1052 题意: 思路:设$dp[i][j]$表示前j个数构成i个字段时的最 ...