使用BeautifulSoup在div中查找div

时间:2014-12-27 22:42:55

标签: python beautifulsoup

我试图让BeautifulSoup在课堂上找到所有五个div" blog-box"然后查看每个div中的div并找到该类的div" date"和班级"右框"然后打印那些。我需要它来打印日期,然后立即打印相关文本,这样我才能找到" date"和"右框" div直接。

for i in xrange(3, 1, -1):
       page = urllib2.urlopen("http://web.archive.org/web/20090204221349/http://www.americansforprosperity.org/nationalblog?page={}".format(i))
       soup = BeautifulSoup(page.read())
       snippet = soup.find_all('div', attrs={'class': 'blog-box'})
       print snippet
       for div in snippet:
           date =  soup.find('div', attrs={'class': 'date'})
           text = soup.find('div', attrs={'class': 'right-box'})
           print date.text
           print text.text

但我运行它并打印第一个日期和文本div五次然后停止。

1 个答案:

答案 0 :(得分:2)

您似乎不小心在内部循环中使用soup而不是循环变量div。尝试:

for ...:
   ...
   for div in snippet:
       date = div.find('div', attrs={'class': 'date'})  # <-- changed here
       text = div.find('div', attrs={'class': 'right-box'})  # <--changed here
       print date.text
       print text.text