首页 > 解决方案 > 在 Python 中的 BeatifulSoup 中抓取 itemprop="name"

问题描述

names = soup.find_all('meta', itemprop='name')
prices = soup.find_all('span', class_='price product-price')

for price, name in zip(prices, names):
    modelName = name
    modelPrice = price.text
    csv_writer.writerow([modelName, modelPrice])
print('Parsing prices: DONE')
csv_file.close()

在此代码之后,我将其导出到 csv 文件并得到如下内容:

    "
"<meta content=""TEXT HERE"" itemprop=""name"">
</meta>","
          PRICE HERE

我想摆脱导出的代码,我只需要一个名称和价格。网站代码如下所示:

<a itemprop="name" class="product-name listgrid" href="https://websitename.com" title="Name of needed model to parse</a>

标签: pythonbeautifulsoup

解决方案


如果您只想要文档或标签的文本部分,则可以使用该get_text()方法。它以单个 Unicode 字符串的形式返回文档中或标签下的所有文本。

在您的情况下,类似的应该可以工作:

soup.find_all()[0].get_text()

我认为没有必要做一个循环。


推荐阅读