330beautifulsoup

196 阅读1分钟

实战例子1:获取博客发布日期(beautifulsoup的解析功能) import requests from bs4 import BeautifulSoup #调用模块 headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'}

for i in range(1,4): link='blog.csdn.net/weixin_4218… #网页的翻页 r=requests.get(link,headers=headers) #访问获取网页

soup=BeautifulSoup(r.text,'lxml')           #用lxml分析网页信息
dates=soup.find_all('span',class_='date')    #标签span,的,date类,得到列表
for x in dates:
    date=x.text.strip()		#转换为字符串副本
    print(date)

BeautifulSoup的其它功能: 遍历文档树: BeautifulSoup的HTML代码美化功能:

soup=BeautifulSoup(r.text,'lxml)

	print(soup.prettify())

遍历文档树

遍历文档树并获取span标签:

soup.header.span

div标签的所有子节点,返回列表:


	soup.header.div.contents

children方法获取所有子标签:


	soup.header.div.children

所有子子孙孙节点:

soup.header.div,descontents 1

获取父节点:


	soup.header.div.a.parent

1

搜索文档树:

搜索文档树

获取所有h开头的标签,结合正则表达式,匹配字符串开头的^:

list=soup.find_all(re.compile(^h))

	for tag_name in list:
 
		print(tag_name)

1 2 3

## select

通过标签查找:

	soup.select(div a)

soup.select('div>a')