使用webscrapping获取标签内的第一行文本

时间:2019-01-17 03:18:31

标签: python web-scraping beautifulsoup data-extraction

我需要使用python代码进行网页抓取,以获取标签内的第一行文本。

扩大产量:1995年9月22日

html代码像这样

<div class="txt-block">
<h4 class="inline">Release Date:</h4> 22 September 1995 (USA)
<span class="see-more inline">
<a href="releaseinfo?ref_=tt_dt_dt">See more</a>&nbsp;»
</span></div>

我获取数据的代码是

soup.find('div', {"class": "txt-block"}).text

输出为:发行日期:1995年9月22日(美国),查看更多

1 个答案:

答案 0 :(得分:1)

我会这样做

text = soup.find('h4').next_sibling
text.replace('(USA)','')

text = soup.find('h4',{'class','inline'}).next_sibling
text.replace('(USA)','')

比起使用正则表达式,您可以从文本中排除括号(USA)之类的单词。

使用正则表达式从字符串中删除特定单词

text = soup.find('h4',{'class','inline'}).next_sibling
import re
text = re.sub(r'\s\(.+\)','',text)

这将从该字符串中删除所有其他括号包含的单词。