python - 在 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>
解决方案
如果您只想要文档或标签的文本部分,则可以使用该get_text()
方法。它以单个 Unicode 字符串的形式返回文档中或标签下的所有文本。
在您的情况下,类似的应该可以工作:
soup.find_all()[0].get_text()
我认为没有必要做一个循环。
推荐阅读
- jquery - 弹出窗口未触发 focusout() 或 blur()
- clojure - 文件名无效,得到 xxxxxx 但应为 xxxxxxxx
- python - 如何从 exec() 越狱?
- javascript - 在组件之间传递值:传递引用与主题
- visual-studio-2019 - 在 Visual Studio 2019 项目的文件夹中自动包含文件
- jquery - 表格的粘性按钮宽度,位于页脚上方
- python - 在 Matplotlib 中为条形图指定 x 坐标有什么用?
- c# - WPF Checkbox.Checked 事件在加载数据网格之前触发
- c++ - 将 std::iterator 用作类变量时出现分段错误
- javascript - 如何使用 npm 的 csvtojson 将 csv 转换为 json 并忽略 csv 中的第一行?