Python 编程快速上手 第十一章 Web scrapping
前言
这一章讲了如何在 Web 上抓取相关的信息,工具是三个模块:
- webbrowser 模块:用于打开浏览器指定页面
- requests 模块:用于下载文件
- Beautiful Soup 模块:用于解析 HTML
- 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
进行解析的步骤:
- 创建一个 BeautifulSoup 对象:格式 beauObj = bs4.beautifulSoup(res.text),返回一个 BeautifulSoup 对象。
- 使用 select() 函数查找元素: beaiObj.select(),返回一个所选择对象的列表。
- (可选):使用 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的更多相关文章
- Python 编程快速上手 第六章总结
第六章 字符串操作 前言 这一章节讲了关于 Python 中字符串类型的知识.与字符串有关的操作符,方法等等. 处理字符串:字符串的写入.打印.访问的知识 原始字符串 格式:r'string'作用:在 ...
- Python 编程快速上手 第五章总结
第五章 字典和结构化数据 创建数组 格式:myCat = {'size':'fat','color':'gray',disposition':'loud'} 对字典的操作 通过[ ] 访问字典的值 [ ...
- python编程快速上手第7章习题20
20.如何写一个正则表达式,匹配每 3 位就有一个逗号的数字?它必须匹配以下数字:'42''1,234''6,368,745'但不会匹配: '12,34,567' (逗号之间只有两位数字) '1234 ...
- Python 编程快速上手 第十七章 操作图像
前言 在这一章节,讲了关于图像的三个方面的内容: 获得图像的相关信息:例如 RGBA 值,尺寸... 对图像进行编辑操作:例如 旋转,缩放... 在图像上绘制形状:例如 矩形,圆形... [Image ...
- Python 编程快速上手 第七章总结
前言 在 Word 软件中,我们总是习惯使用 CMD+F 用来查找和替换文本,但是,正如作者所说: 虽然计算机可以很快地查找文本,但你必须精确地告诉它要找什么. 我们往往想要查找一类文本,比如一段文本 ...
- Python编程快速上手-让繁琐工作自动化-第二章习题及其答案
Python编程快速上手-让繁琐工作自动化-第二章习题及其答案 1.布尔数据类型的两个值是什么?如何拼写? 答:True和False,使用大写的T和大写的F,其他字母是小写. 2.3个布尔操作符是什么 ...
- 入门python:《Python编程快速上手让繁琐工作自动化》中英文PDF+代码
入门推荐学习<python编程快速上手>前6章是python的基础知识,通俗易懂地讲解基础,初学者容易犯错的地方,都会指出来.从第三章开始,每章都有一个实践项目,用来巩固前面所学的知识. ...
- 《Python编程快速上手 —让繁琐工作自动化》|百度网盘免费下载|Python自动化办公
Python编程快速上手—让繁琐工作自动化 提取码:u8vj 如今,人们面临的大多数任务都可以通过编写计算机软件来完成. Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言.通过 P ...
- Python编程快速上手 让繁琐工作自动化 - 专业程序员的养成完整版PDF免费下载_百度云盘
Python编程快速上手 让繁琐工作自动化 - 专业程序员的养成完整版PDF免费下载_百度云盘 提取码:7qm4 有关本书 累计销售超过10万册 零基础编程者的不二之选 基于Python3编写 通用 ...
随机推荐
- 针对Xcode 9 + iOS11 的修改,及iPhone X的适配
1,UIScrollView的automaticallyAdjustsScrollViewInsets 失效了. automaticallyAdjustsScrollViewInsets,当设置为YE ...
- PT,PX,DPI
[iOS]查找数组NSArray中是否包含指定的元素 http://blog.csdn.net/zyq527758142/article/details/51278172 Dpi(每平方英寸像素数目) ...
- Linux驱动开发调试 -- 打开dev_dbg()【转】
本文转载自:https://blog.csdn.net/kunkliu/article/details/78048618 转载地址:http://blog.chinaunix.net/uid-2284 ...
- 好用的js模板
组织form下的 json对象 $.fn.serializeObject = function() { var o = {"unique_id":new Date().getTim ...
- SQL Server 常见数据类型介绍
数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 整数类型 int 存储范围是-2,147,483,648到2,147,483,6 ...
- Docker run 出现问题如何调试?
docker run -ti 3f5dd697cc83 /bin/bash #进入image的目录 ls -l #列出所有目录 dotnet run WestWin.Ads.Crawler.WebAp ...
- ZooKeeper分布式过程协同技术详解2——了解ZooKeeper
这个服务如何实现这些协作方面的原语? ZooKeeper基础
- js 模块化规范
模块规范 CommonJS module.exports, exports 导出模块 require 加载模块, CommonJS 同步,服务端.实践者: nodejs ES6 export, exp ...
- 解析Django路由层URLconf
目录: 一 Django中路由的作用 二 路由的分组 三 路由分发 四 反向解析 五 名称空间 六 Django2.0版的path 一.Django中路由的作用 URL配置(URLconf ...
- 51nod 1052 最大M子段和
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1052 题意: 思路:设$dp[i][j]$表示前j个数构成i个字段时的最 ...