python 之 BeautifulSoup標簽查找與信息提取
一躁倒、 查找a標簽
(1)查找所有a標簽
>>>forxinsoup.find_all('a'):
? ? print(x)
? ? ElsieLacieTillie
(2)查找所有a標簽颓屑,且屬性值href中需要保護關(guān)鍵字“”
>>>forxinsoup.find_all('a',href = re.compile('lacie')):
? ? print(x)Lacie
(3)查找所有a標簽粘捎,且字符串內(nèi)容包含關(guān)鍵字“Elsie”
>>>forxinsoup.find_all('a',string= re.compile('Elsie')):
? ? print(x)
? ? Elsie
(4)查找body標簽的所有子標簽眶蕉,并循環(huán)打印輸出
>>>forxinsoup.find('body').children:
? ? if isinstance(x,bs4.element.Tag):? ? ? ? #使用isinstance過濾掉空行內(nèi)容
? ? ? ? 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)解析信息標簽結(jié)構(gòu)呐粘,查找所有a標簽,并提取每個a標簽中href屬性的值(即鏈接)转捕,然后存在空列表事哭;
need-to-insert-img
>>> linklist = []>>>forxinsoup.find_all('a'):
? ? link = x.get('href')
? ? if link:
? ? ? ? linklist.append(link)
? ? ? >>>forxin linklist:? ? ? ? #驗證:環(huán)打印出linklist列表中的鏈接
? ? print(x)
http://example.com/elsiehttp://example.com/laciehttp://example.com/tillie
need-to-insert-img
小結(jié):鏈接提取 <---> 屬性內(nèi)容提取 <---> x.get('href')
(2)解析信息標簽結(jié)構(gòu),查找所有a標簽瓜富,且每個a標簽中href中包含關(guān)鍵字“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:? ? ? ? #驗證:循環(huán)打印出linklist列表中的鏈接
? ? print(x)
http://example.com/elsie
need-to-insert-img
小結(jié):在進行a標簽查找時,加入了對屬性值href內(nèi)容的正則匹配內(nèi)容 <---> href = re.compile('elsie')
(3)解析信息標簽結(jié)構(gòu)与柑,查詢所有a標簽谤辜,然后輸出所有標簽中的“字符串”內(nèi)容;
need-to-insert-img
>>>forxinsoup.find_all('a'):
? ? string= x.get_text()
? ? print(string)
Elsie
Lacie
Tillie
need-to-insert-img