美文网首页
2018-03-13

2018-03-13

作者: 流星一剑 | 来源:发表于2018-03-20 12:23 被阅读0次

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

相关文章

网友评论

      本文标题:2018-03-13

      本文链接:https://www.haomeiwen.com/subject/giwafftx.html