【问题标题】:Regex search product name and get price正则表达式搜索产品名称并获取价格
【发布时间】:2017-05-26 12:25:10
【问题描述】:

我有产品名称列表,我想在给定的 URL 中搜索产品名称,我只需要获取价格。 例如,我想搜索“Tommee Tippee 一次性乳垫 - 1 x 50 Pack” 在这个网址上 http://www.boots.ie/baby-child/babyfeeding/breastfeeding-pumps 如果我成功匹配,那么我如何获得价格,即 8.49 欧元 通过刮。 这是演示 URL 之一,类似我有 URL 列表

请帮助我提供任何示例或正则表达式来完成这项工作

【问题讨论】:

  • StackOverflow 不是免费的代码服务。显示您尝试过的内容以及您在代码中遇到的问题。并将您的问题直接指向该特定问题。
  • 此外,我建议发布数据摘录而不是网站链接。您可能出于善意链接该网站,但它可能被滥用于广告或恶意软件传播,这总是让我保持警惕,不太可能回答您的问题。

标签: c# regex web-scraping web-crawler screen-scraping


【解决方案1】:

一些示例代码可能会帮助您启动这个项目。

import re
from bs4 import BeautifulSoup

url = 'http://www.boots.ie/baby-child/babyfeeding/breastfeeding-pumps'
soup = BeautifulSoup(url, 'html.parser')
product_name_regex = 'Tommee Tippee Disposable Breast Pads - 1 x 50 Pack'
product_tag = soup.find('div', text=re.compile(product_name_regex))
price_tag = product_tag.find_next('div', { "class" : "product_price" })
price = price_tag.text

这个短代码首先尝试解析html页面,然后通过使用文本/类名查找标签从该页面中提取信息。

一些可能对您有所帮助的链接: BeautifulSoup Doc , How to find elements by class

【讨论】:

  • 嗨@Flames这是正确的答案。我认为这个库适用于 Python,但我需要在 c# 中。 c# 或 Java-script 中是否有任何可用的库。
  • 感谢您在 HtmlAgilityPack 中为我提供 Idea Got Solution
  • @AdeelNazir 没问题。
猜你喜欢
  • 1970-01-01
  • 2013-10-16
  • 1970-01-01
  • 2017-10-30
  • 2023-03-09
  • 2015-02-25
  • 1970-01-01
  • 1970-01-01
  • 2016-03-23
相关资源
最近更新 更多