标签:Beautiful soup text title 爬虫 BeautifulSoup Soup print find
Beautiful Soup 是什么
Beautiful Soup是python 的一个HTML 或 XML的解析库,借助网页的结构和属性特征来解析网页,便于用户抓取数据。
Beautiful Soup能够自动将输入的文档转化为Unicode,输出的文档转换为UTF-8,这大大提高了文档提取的效率。
选择相应信息
基本用法如下
BeautifulSoup(markup, 'lxml')
from bs4 import BeautifulSoup
import requests
url = 'https://github.com/github'
# 构造一个html文档
r = requests.get(url).text
soup = BeautifulSoup(r, 'lxml')
# prettify 可以把要解析的字符串以标准的HTML输出
print(soup.prettify)
# 输出HTML中title的内容
print(soup.title.string)
选择相应的节点,直接使用soup.title/soup.head/soup.p等,即可获取信息。需要注意的是soup.p,只能获取第一个节点的p。
from bs4 import BeautifulSoup
import requests
url = 'https://github.com/github'
# 构造一个html文档
r = requests.get(url).text
soup = BeautifulSoup(r, 'lxml')
# prettify 可以把要解析的字符串以标准的HTML输出
print(soup.prettify)
# 输出title
print(soup.title)
# 输出HTML中title文本的值
print(soup.title.string)
# 输出head
print(soup.head)
# 输出节点p
print(soup.p)
方法选择器
面对复杂的网页结构,采用属性来选择比较麻烦,这就需要使用find_all(),find()进行选择了。
find_all()
它的API如下
find_all(name, attrs, recursive, text, **kwargs)
表示:
name:根据节点名查询
attrs:通过传入属性查询
text:用来匹配节点的文本
find()的用法与find_all()的用法一样,区别是fin()返回的是单个元素,find_all()返回的是所有元素。
基本语法:
from bs4 import BeautifulSoup
import requests
url = 'https://github.com/github'
# 构造一个html文档
r = requests.get(url).text
soup = BeautifulSoup(r, 'lxml')
# 根据节点名查询
print(soup.find_all(name='ul'))
# 通过传入属性查询
print(soup_find_all(attrs={'id': 'list-1'}))
print(soup_find_all(attrs={'name': 'elements'}))
# 用来匹配节点的文本
print(soup.find_all(text=re.compile('link')))
CSS选择器
如果对CSS选择器熟悉的话,可以使用select进行选择。
此文不做说明,更多CSS信息请查看这里。
参考资料
《python3 网路爬虫开发实战》 崔庆才著
Change Log
20201201 创建
标签:Beautiful,soup,text,title,爬虫,BeautifulSoup,Soup,print,find 来源: https://blog.csdn.net/weixin_45228758/article/details/110451585
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。