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

原文地址:https://www.cnblogs.com/FBsharl/p/10313659.html

时间: 2024-10-18 11:47:15

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

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

第六章 字符串操作 前言 这一章节讲了关于 Python 中字符串类型的知识.与字符串有关的操作符,方法等等. 处理字符串:字符串的写入.打印.访问的知识 原始字符串 格式:r'string'作用:在其中的\ 不会被 Python 认为是转义字符的开始,而是字符串的一部分 三重引号 格式:""" """作用: 三重引号之间的所有引号.制表符或换行,都被认为是字符串的一部分. 作为多行注释 注意:三重引号中的转义字符是 optional 的 双引号

python编程快速上手第六章实践项目参考code

代码如下: 题目的意思是通过一个函数将列表的列表显示在组织良好的表格中,每列右对齐 tableData = [['apples', 'oranges', 'cherries', 'banana'], ['Alice', 'Bob', 'Carol', 'David'], ['dogs', 'cats', 'moose', 'goose']] ''' apples   Alice  dogs  oranges  Bob    catscherries    Carol  moose    bana

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

20.如何写一个正则表达式,匹配每 3 位就有一个逗号的数字?它必须匹配以下数字:'42''1,234''6,368,745'但不会匹配: '12,34,567' (逗号之间只有两位数字) '1234' (缺少逗号) 正确match写法 : re.compile(r'^\d{1,3}(,\d{3})*$') 正确findall写法: re.compile(r"^(\d{1,3}(,\d{3})*)$") 综上,上机实际验证写法应为: import re num=re.compile(r

Python 编程快速上手 让繁琐工作自动化-第十一章实践项目 11.11.1命令行邮件程序

11.11.1 命令行邮件程序 编写一个程序,通过命令行接受电子邮件地址和文本字符串.然后利用selenium登录到你的邮件账号,将该字符串作为邮件,发送到提供的地址(你也许希望为这个程序建立一个独立的邮件账号).这是为程序添加通知功能的一种好方法.你也可以编写类似的程序,从Facebook 或Twitter 账号发送消息.这个项目弄了好几天,头都快炸了,终于弄好了代码如下:#!/usr/bin/env python#encoding:utf-8 '''@author:Kevinbr/>@aut

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

Python编程快速上手-让繁琐工作自动化-第二章习题及其答案 1.布尔数据类型的两个值是什么?如何拼写? 答:True和False,使用大写的T和大写的F,其他字母是小写. 2.3个布尔操作符是什么? 答:and.or和not. 3.写出每个布尔操作符的真值表(也就是操作数的每种可能组合,以及操作的结果) 答:and:True and True  -> True True and False -> FalseFalse and True -> FalseFasle and False

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

入门推荐学习<python编程快速上手>前6章是python的基础知识,通俗易懂地讲解基础,初学者容易犯错的地方,都会指出来.从第三章开始,每章都有一个实践项目,用来巩固前面所学的知识. 从第七章开始就是书名中的后半部:让繁琐工作自动化.每个章节都可独立出来.每看完一个章节,你都能将其中的知识点融会贯通,用到自己的日常工作中,提高效率.第九章 组织文件对系统管理员非常有用,能够指挥程序完成复制 备份文件(夹)操作.第十一章是web抓取信息,介绍了主流的request beautifulSoup

Python编程快速上手 让繁琐工作自动化 云图

图书封面 本书简介 本书的第一部分介绍了基本 Python 编程概念,第二部分介绍了一些不同的任务,你可以让计算机自动完成它们.第二部分的每一章都有一些项目程序,供你学习.下面简单介绍一下每章的内容.第一部分: Python 编程基础"第 1 章: Python 基础"介绍了表达式. Python 指令的最基本类型,以及如何使用 Python 交互式环境来尝试运行代码."第 2 章:控制流"解释了如何让程序决定执行哪些指令,以便代码能够智能地响应不同的情况.&quo

《Python编程快速上手 让繁琐工作自动化》pdf

<div id="article_content" class="article_content tracking-ad" data-mod="popu_307" data-dsm="post"> <p><br></p><p>下载地址:<a target="_blank" href="https://page74.ctfile.co

Python编程快速上手 让繁琐工作自动化 PDF下载

网盘下载地址:Python编程快速上手 让繁琐工作自动化 PDF下载 – 易分享电子书PDF资源网 作者: Albert Sweigart 出版社: 人民邮电出版社 副标题: 让繁琐工作自动化 原作名: Automate the Boring Stuff with Python: Practical Programming for Total Beginners 译者: 王海鹏 出版年: 2016-7-1 页数: 391 内容简介 · · · · · · 如今,人们面临的大多数任务都可以通过编写