靓汤Python刮网

2024-06-28 19:19:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在尝试从一个网站上刮出一个产品名称,然而,文本包含在一个我从未见过的标签中,因此不知道如何获取文本。在

<h1 class="protect" data-category="Jackets" data-ino="SS18J42" data-
rd="02/22/2018" data-rw="1SS18" itemprop="name">Gradient Puffy 
Jacket</h1>

我正在尝试使用Python2.7从我的BeautifulSoup4程序中获取“渐变蓬松夹克”的名称。我会很感激你的任何见解,因为这已经困扰了我好几天了。在


Tags: 文本data网站标签rdprotecth1class
3条回答

加上Ajax1234的答案。如果通过其他html属性进行搜索:

from bs4 import BeautifulSoup
s = """
<h1 class="protect" data-category="Jackets" data-ino="SS18J42" data-
rd="02/22/2018" data-rw="1SS18" itemprop="name">Gradient Puffy Jacket</h1>
"""
soup = BeautifulSoup(s, 'html.parser')

print(soup.find('h1', {'class': 'protect'}).text)
print(soup.find('h1', {'data-category': 'Jackets'}).text)
print(soup.find('h1', {'data-ino': 'SS18J42'}).text)

等等。。。在

您可以使用BeautifulSoup

from bs4 import BeautifulSoup as soup
s = """
 <h1 class="protect" data-category="Jackets" data-ino="SS18J42" data-
rd="02/22/2018" data-rw="1SS18" itemprop="name">Gradient Puffy Jacket</h1>
"""
new_s = soup(s, 'lxml').find('h1', {'itemprop':'name'}).text

输出:

^{pr2}$

BeautifulGroup允许您使用属性访问元素,因此可以使用以下方法:

from bs4 import BeautifulSoup

html = """<h1 class="protect" data-category="Jackets" data-ino="SS18J42" data-
rd="02/22/2018" data-rw="1SS18" itemprop="name">Gradient Puffy 
Jacket</h1>"""

soup = BeautifulSoup(html, "html.parser")
print soup.h1.text

相关问题 更多 >