Python网络爬虫与信息提取(二)—— BeautifulSoup

Boautiful Soup

BeautifulSoup官方介绍:

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.

官方网站:https://www.crummy.com/software/BeautifulSoup/

1、安装

在"C:\Windows\System32"中找到"cmd.exe",使用管理员身份运行,在命令行中输入:“pip install beautifulsoup4”运行。

提示pip版本过低,使用 python -m pip install --upgrade pip 进行升级。

C:\Windows\system32>pip install beautifulsoup4
Requirement already satisfied (use --upgrade to upgrade): beautifulsoup4 in c:\users\lei\appdata\local\programs\python\p
ython35\lib\site-packages\beautifulsoup4-4.5.0-py3.5.egg
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the ‘python -m pip install --upgrade pip‘ command.

Beautiful Soup库的安装测试:

演示HTML页面地址:http://www.cnblogs.com/yan-lei


>>> import requests
>>> r = requests.get("http://www.cnblogs.com/yan-lei/")
>>> r.text
‘\r\n\r\n\r\n\r\n\r\n\r\nPython学习者 - 博客园\r\n>> demo = r.text
>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup(demo,"html.parser")
>>> soup

Python学习者 - 博客园......

from bs4 import BeautifulSoup soup = BeautifulSoup(‘

data

‘,‘html.parser‘)

2、Beautiful Soup库的使用

以HTML为例,任何HTML文件都是有一组"<>"组织起来的,其实就是标签,标签之间形成了上下游关系,形成了标签树。BeautifulSoup库是解析、遍历、维护“标签树”的功能库

<p>..</p>:标签Tag

  • 标签Name一般成对出现
  • 属性Attributes 0个或多个

Beautiful Soup库的引用

Beautiful Soup库,也叫beautfulsoup4 或bs4。约定引用方式如下,即主要是用BeautifulSoup类。

from bs4 import BeautifulSoup import bs4

Beautiful Soup类

将标签树转换为BeautifulSoup类,此时我们将HTML、标签树、BeautifulSoup类等价

from bs4 import BeautifulSoup soup1 = BeautifulSoup("data","html.parser") soup2 = BeautifulSoup(open("D://demo.html","html.parser"))

BeautifulSoup对应一个HTML/XML文档的全部内容。

Beautiful Soup库解析器

soup = BeautifulSoup(‘data‘,‘html.parser‘)

解析器 使用方法 条件
bs4的HTML解析器 BeautifulSoup(mk,‘html.parser‘) 安装bs4库
lxml的HTML解析器 BeautifulSoup(mk,‘lxml‘) pip install lxml
lxml的XML解析器 BeautifulSoup(mk,‘xml‘) pip install lxml

newsoup = BeautifulSoup("

This is not a comment

","html.parser") Beautiful Soup类的基本元素

基本元素 说明
Tag 标签,最基本的信息组织单元,分别用<>和</>标明开头和结尾
Name 标签的名字,<p>...</p>的名字是‘p‘,格式:<tag>.name
Attributes 标签的属性,字典形式的组织,格式:<tag>.attrs
NavigleString 标签内非属性字符串,<>...</>中字符串,格式<tag>.string
Comment 标签内字符串的注释部分,一种特殊的Comment类型
时间: 2024-07-31 13:41:43

Python网络爬虫与信息提取(二)—— BeautifulSoup的相关文章

Python网络爬虫与信息提取(中国大学mooc)

目录 目录 Python网络爬虫与信息提取 淘宝商品比价定向爬虫 目标获取淘宝搜索页面的信息 理解淘宝的搜索接口翻页的处理 技术路线requests-refootnote 代码如下 股票数据定向爬虫 列表内容 爬取网站原则 代码如下 代码优化 Python网络爬虫与信息提取 淘宝商品比价定向爬虫 股票数据定向爬虫 1. 淘宝商品比价定向爬虫 功能描述 目标:获取淘宝搜索页面的信息 理解:淘宝的搜索接口翻页的处理 技术路线:requests-re[^footnote]. 代码如下: #CrowTa

python网络爬虫入门(二)——用python简单实现调用谷歌翻译

最近在看国外的文档,有些生词不认识.就用谷歌翻译来理解,用着用着闲来无事就按F12查看了下页面的源代码.发现可以用python简单的实现下谷歌翻译的页面功能.于是先上网搜下有没有类似的文章博客,发现几篇不错的,于是参考其他代码与自己的思路,简单的实现了下翻译的功能,代码如下: import re import urllib,urllib2 #----------模拟浏览器的行为,向谷歌翻译发送数据,然后抓取翻译结果,这就是大概的思路------- def Gtranslate(text): #t

python网络爬虫与信息提取【笔记】

以下是''网络爬虫''课程(中国MOOC)学习笔记 [万能的b站] 核心思想: The Website is the API 课程大纲: 一.Requests与robots.txt 1.Requeests 自动爬取HTML页面,自动网络请求提交 2.robots.txt 网络爬虫排除标准 二.BeautifulSoup解析HTML页面 三.Re正则表达式详解,提前页面关键信息 四.Scrapy网络爬虫原理介绍,专业爬虫框架介绍

Python网络爬虫与信息提取-Beautiful Soup 库入门

一.Beautiful Soup 库的安装 Win平台:"以管理员身份运行" cmd 执行 pip install beautifulsoup4 安装小测:from bs4 import BeautifulSoup soup=BeautifulSoup('<p>data</p>','html.parser') print(soup.prettify()) 二.Beautiful Soup 库的基本元素 1.BeautifulSoup类 from bs4 impo

python网络爬虫与信息提取mooc------爬取实例

实例一--爬取页面 1 import requests 2 url="https//itemjd.com/2646846.html" 3 try: 4 r=requests.get(url) 5 r.raise_for_status() 6 r.encoding=r.apparent_encoding 7 print(r.text[:1000]) 8 except: 9 print("爬取失败") 正常页面爬取 实例二--爬取页面 1 import requests

MOOC《Python网络爬虫与信息提取》学习过程笔记【requests库】第一周1-3

一得到百度网页的html源代码: >>> import requests >>> r=requests.get("http://www.baidu.com") >>> r.status_code #查看状态码,为200表示访问成功,其他表示访问失败 200 >>> r.encoding='utf-8' #更改编码为utf-8编码 >>> r.text #打印网页内容 >>> r.

Python网络爬虫与信息提取-Requests库网络爬去实战

实例1:京东商品页面的爬取 import requests url="https://item.jd.com/2967929.html" try: r=requests.get(url) r.raise_for_status() r.encoding=r.apparent_encoding print(r.text[:1000]) except: print("爬取失败") 实例2:亚马逊商品页面的爬取 import requests url="https

python网络爬虫与信息提取——6.Re(正则表达式)库入门

1.正则表达式常用操作符 .      表示任何单个字符[ ] 字符集,对单个字符给出取值范围    [abc]表示a.b.c,[a‐z]表示a到z单个字符[^ ]  非字符集,对单个字符给出排除范围 [^abc]表示非a或b或c的单个字符*  前一个字符0次或无限次扩展     abc* 表示 ab.abc.abcc.abccc等+  前一个字符1次或无限次扩展     abc+ 表示 abc.abcc.abccc等?   前一个字符0次或1次扩展           abc? 表示 ab.a

PYTHON网络爬虫与信息提取[正则表达式的使用](单元七)

正则表达式由字符和操作符构成 . 表示任何单个字符 []字符集,对单个字符给出取值范围 [abc]或者关系  [a-z]表示 [^abc]表示非这里面的东西 非字符集 * 表示星号之前的字符出现0次或者无限次扩展 + 表示星号之前的字符出现一次或者无限次扩展 ? 表示出现0次或1扩展 | 表示左右表达式人取其一 abc|def --------------------------------------------------------------------- {m} 扩展前一个字符m次