前言

这一章讲了如何在 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. replace 将逗号替换~

    var reg = new RegExp(",","g"); //"g"表示全局替换var aa="qq,ww";aa= ...

  2. Python中的对象行为与特殊方法(一)对象的创建与销毁

    Python中类调用__new__()类方法来创建实例,调用__init__()方法来初始化对象,对象的销毁则调用__del__()方法. __new__()方法第一个参数为类cls,通常返回cls的 ...

  3. 前缀判断|2013年蓝桥杯B组题解析第五题-fishers

    前缀判断 如下的代码判断 needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL. 比如:"abcd1234" 就包含了 &quo ...

  4. UVALive 7501 Business Cycle(二分)题解

    题意:n个数,有一个起始值,按顺序从第一个开始不断循环取数,如果取完后相加小于0就变为0,最多取p个数,问你得到大于等于值g所需要的最小起始值为多少 思路:这题目爆long long爆的毫无准备,到处 ...

  5. CodeChef - MRO Method Resolution Order(打表)

    题意:有一种关系叫继承,那么继承父类的同时也会继承他的一个函数f,能继承任意多个父类或不继承,但不能继承自己的子类.现在规定一个列表,这个列表必须以1~N的顺序排列,并且父类不会排在子类后面,1含有一 ...

  6. Many Website Of WallPaper

    我在这里给大家推荐几个不错的壁纸网站 毕竟一张赏心悦目的壁纸能让你的工作效率提高不少 注意前方高能 一大波网站即将来袭 一系列 如你所见 alphacoders wallpaperdj Wallhav ...

  7. 【原理、命令】Git基本原理、与Svn的区别、命令

    一.Git是什么? Git是目前世界上最先进的分布式版本控制系统.工作原理 / 流程:Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote ...

  8. [转] Java中的final、static、this、super

    final 关键字 final关键字主要用在三个地方:变量.方法.类. 对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改:如果是引用类型的变量,则在对其初始化之后便 ...

  9. 完全卸载oraclean安装

    完全卸载oracle11g步骤:1. 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务.2. 开始->程序->Oracle - OraHome ...

  10. P4609 [FJOI2016]建筑师

    思路 裸的第一类斯特林数,思路和CF960G相同 预处理组合数和第一类斯特林数回答即可 代码 #include <cstdio> #include <cstring> #inc ...