如何在某个div中搜索标记,排除其他类似命名的div?

时间:2017-07-18 21:36:29

标签: python html beautifulsoup

我试图抓住这个网站:http://800notes.com/Phone.aspx/1-717-746-7214

获取此信息:" 2017年5月23日"

但页面旁边的新闻文章的命名方式相似,所以我不能单独列出我正在寻找的标签,这会使我的结果出现偏差。我在这里做错了吗?

我试图确保我没有得到" datetime"页面右侧的标签,链接到文章和讨论区。

这是我尝试使用的代码。

datePre = soup.find('div', id='oos_px')
soup = BeautifulSoup(unicode(datePre), 'lxml')
dateList = soup.find_all('time')
endingString = str(dateList[-1])
timeStart = endingString.index('\"') + 1
timeEnd = timeStart + 10
dateString = endingString[timeStart:timeEnd]

我被告知列表超出范围?它应该产生一个我可以搜索正确的结果集?哈哈,这一整天都令人难以置信,这让我疯了哈哈。感谢所有在这里冒险的人。

global dateString
soup.select(".oos_contletList time")
dateList = soup.find_all('time')
endingString = str(dateList[-1])

更新了应该有效的代码,但仍在侧栏上的新闻网站上抓取最新帖子。

1 个答案:

答案 0 :(得分:0)

我没有尝试过美丽的汤,但下面的css选择器应该是正确的 用chrome测试了选择器。

for elm in soup.select(".oos_contletList time"):
    print(elm.text)

我试图使用:not()css选择器来排除你提到的那些。如果我开始工作,我会回复。