python 之 BeautifulSoup标签查找与信息提取
一、 查找a标签
(1)查找所有a标签
>>>forxinsoup.find_all('a'):
print(x)
ElsieLacieTillie
(2)查找所有a标签,且属性值href中需要保护关键字“”
>>>forxinsoup.find_all('a',href = re.compile('lacie')):
print(x)Lacie
(3)查找所有a标签,且字符串内容包含关键字“Elsie”
>>>forxinsoup.find_all('a',string= re.compile('Elsie')):
print(x)
Elsie
(4)查找body标签的所有子标签,并循环打印输出
>>>forxinsoup.find('body').children:
if isinstance(x,bs4.element.Tag): #使用isinstance过滤掉空行内容
print(x)
The Dormouse's storyOnce upon a time there were three little sisters; and their names wereElsie,Lacie andTillie;
and they lived at the bottom of a well.
need-to-insert-img
二、信息提取(链接提取)
(1)解析信息标签结构,查找所有a标签,并提取每个a标签中href属性的值(即链接),然后存在空列表;
need-to-insert-img
>>> linklist = []>>>forxinsoup.find_all('a'):
link = x.get('href')
if link:
linklist.append(link)
>>>forxin linklist: #验证:环打印出linklist列表中的链接
print(x)
http://example.com/elsiehttp://example.com/laciehttp://example.com/tillie
need-to-insert-img
小结:链接提取 <---> 属性内容提取 <---> x.get('href')
(2)解析信息标签结构,查找所有a标签,且每个a标签中href中包含关键字“elsie”,然后存入空列表中;
need-to-insert-img
>>> linklst = []>>>forxinsoup.find_all('a', href = re.compile('elsie')):
link = x.get('href')
if link:
linklst.append(link)
>>>forxin linklst: #验证:循环打印出linklist列表中的链接
print(x)
http://example.com/elsie
need-to-insert-img
小结:在进行a标签查找时,加入了对属性值href内容的正则匹配内容 <---> href = re.compile('elsie')
(3)解析信息标签结构,查询所有a标签,然后输出所有标签中的“字符串”内容;
need-to-insert-img
>>>forxinsoup.find_all('a'):
string= x.get_text()
print(string)
Elsie
Lacie
Tillie
need-to-insert-img
网友评论