我已经提取了一个长长的Web源代码,并且我想要提取的一个长长的Web源代码是span标记内的内容。
<span class="a-size-medium a-color-base a-text-normal">
Apple iPhone 6S, GSM Unlocked, 16GB - Rose Gold (Renewed)
</span>
即我想检索“ Apple iPhone 6S,GSM解锁,16GB-玫瑰金(已更新)”
如何使用re.findall提取标签中的相关联系人?或其他更简单的方法吗?谢谢。
答案 0 :(得分:1)
对于这种任务,您应该使用BeautifulSoup或类似的东西。将页面的html放入变量中后,例如下面的示例中的html
,就很容易找到元素。使用.text
属性提取您要查找的内容。
from bs4 import BeautifulSoup
html = # I used your source code provided
soup = BeautifulSoup(html, 'html.parser')
items = soup.find_all('span', {'class': 'a-size-medium'})
for item in items:
print(item.text)
# Apple iPhone 6S, GSM Unlocked, 16GB - Rose Gold (Renewed)
当然,这将在您提供的示例代码中起作用,但是我怀疑您可能不得不尝试隔离要解析的部分。
答案 1 :(得分:1)
Brian Cohan
回答-使用正则表达式解析HTML源代码不是最佳实践。我建议使用BS4或html.parser。但是,仍然可以在回答您的问题时使用以下正则表达式:(?:(?<=<span)(.*)(?<=>)).*(?=</span>)
来获取数据。
答案 2 :(得分:0)
https://scrapy.org/是一个很好的库,可以做您想做的事,并且您有很多实用程序可以获取HTML网页的标签/模式