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 import BeautifulSoup

soup2=BeautifulSoup(open("D://demo.html"),"html.parser")

soup=BeautifulSoup("<html>data</html>","html.parser")

2、BeautifulSoup类的基本元素   <p class="title">...</p>

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

回顾demo.html

>>> import requests
>>> r=requests.get("http://python123.io/ws/demo.html")
>>> demo=r.text
>>> demo
‘<html><head><title>This is a python demo page</title></head>\r\n<body>\r\n<p class="title"><b>The demo python introduces several python courses.</b></p>\r\n<p class="course">Python is a wonderful general-purpose programming language. You can learn Python from novice to professional by tracking the following courses:\r\n<a href="http://www.icourse163.org/course/BIT-268001" class="py1" id="link1">Basic Python</a> and <a href="http://www.icourse163.org/course/BIT-1001870001" class="py2" id="link2">Advanced Python</a>.</p>\r\n</body></html>‘

Tag标签:任何存在于HTML语法中的标签都可以用soup.<tag>访问获得

当HTML文档中存在多个相同<tag>对应内容时,soup.<tag>返回第一个

>>> from bs4 import BeautifulSoup
>>> soup=BeautifulSoup(demo,"html.parser")
>>> soup.title
<title>This is a python demo page</title>
>>> soup.p
<p class="title"><b>The demo python introduces several python courses.</b></p>
>>> soup.a
<a class="py1" href="http://www.icourse163.org/course/BIT-268001" id="link1">Basic Python</a>

原文地址:https://www.cnblogs.com/lichaoxiang/p/8204324.html

时间: 2024-11-05 16:32:25

Python网络爬虫与信息提取-Beautiful Soup 库入门的相关文章

2017.08.11 Python网络爬虫实战之Beautiful Soup爬虫

1.与Scrapy不同的是Beautiful Soup并不是一个框架,而是一个模块:与Scrapy相比,bs4中间多了一道解析的过程(Scrapy是URL返回什么数据,程序就接受什么数据进行过滤),bs4则在接收数据和进行过滤之间多了一个解析的过程,根据解析器的不同,最终处理的数据也有所不同,加上这一步骤的优点是可以根据输入数据的不同进行针对性的解析:同一选择lxml解析器: 2.安装Beautiful Soup环境:pip install beautifulsoup4 3.Beautiful

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

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

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

Boautiful Soup BeautifulSoup官方介绍: Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式. 官方网站:https://www.crummy.com/software/BeautifulSoup/ 1.安装 在"C:\Windows\System32"中找到"cmd.exe",使用管理员身份运行,在命令行中输入:"pip in

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

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

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

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网络爬虫(二)requests库的基本介绍和使用

一.requests库的七个重要方法 (1)最常用方法:requests.get(url,params=None,**kwargs)//对应HTTP协议的GET()操作 (请求获得URL位置的资源) ① url:拟获取页面的url链接.url:在WWW上,每一信息资源都有统一的且在网上唯一的地址, 该地址就叫URL(Uniform Resource Locator,统一资源定位符),它是WWW的统一资源定 位标志,就是指网络地址.例:http://baidu.com ② params:url中的

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

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