python3用BeautifulSoup抓取id='xiaodeng',且正则包含‘elsie’的标签

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3用BeautifulSoup抓取id='xiaodeng',且正则包含‘elsie’的标签相关的知识,希望对你有一定的参考价值。

# -*- coding:utf-8 -*-
#python 2.7
#XiaoDeng
#http://tieba.baidu.com/p/2460150866
#使用多个指定名字的参数可以同时过滤tag的多个属性


from bs4 import BeautifulSoup
import urllib.request
import re


#如果是网址,可以用这个办法来读取网页
#html_doc = "http://tieba.baidu.com/p/2460150866"
#req = urllib.request.Request(html_doc)  
#webpage = urllib.request.urlopen(req)  
#html = webpage.read()


html="""
<html><head><title>The Dormouse‘s story</title></head>
<body>
<p class="title" name="dromouse"><b>The Dormouse‘s story</b></p>
<p class="story">Once upon a time there were three little sisters; and their names were
<a href="http://example.com/elsie" class="sister" id="xiaodeng"><!-- Elsie --></a>,
<a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
<a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
<a href="http://example.com/lacie" class="sister" id="xiaodeng">Lacie</a>
and they lived at the bottom of a well.</p>
<p class="story">...</p>
"""
soup = BeautifulSoup(html, html.parser)


#抓取id=‘xiaodeng‘,且正则包含‘elsie’的标签
content=soup.find_all(href=re.compile("elsie"), id=xiaodeng)
#print(content)  #[<a class="sister" href="http://example.com/elsie" id="xiaodeng"><!-- Elsie --></a>]

for  k  in content:
    print(k.get(href))  #抓取href的内容
    #http://example.com/elsie

 

以上是关于python3用BeautifulSoup抓取id='xiaodeng',且正则包含‘elsie’的标签的主要内容,如果未能解决你的问题,请参考以下文章

python3用BeautifulSoup抓取div标签

python3用BeautifulSoup抓取a标签

python3用BeautifulSoup用字典的方法抓取a标签内的数据

python3用BeautifulSoup用re.compile来匹配需要抓取的href地址

如何使用 Python 3.5 和 BeautifulSoup 抓取 href [重复]

python3+beautifulSoup4.6抓取某网站小说基础功能设计