Python 2.7:无法弄清楚如何使用BeautifulSoup4解析树

时间:2014-04-06 02:36:03

标签: python python-2.7 web-scraping html-parsing beautifulsoup

我正在尝试解析this site以创建5个列表,每天一个,并为每个公告填充一个字符串。例如

[in]   custom_function(page)

[out]  [[<MONDAYS    ANNOUNCEMENTS>],
        [<TUESDAYS   ANNOUNCEMENTS>],
        [<WEDNESDAYS ANNOUNCEMENTS>],
        [<THURSDAYS  ANNOUNCEMENTS>],
        [<FRIDAYS    ANNOUNCEMENTS>]]

但我无法弄清楚这样做的正确方法。

这是我到目前为止所拥有的

from bs4 import BeautifulSoup
import requests
import datetime

url = http://mam.econoday.com/byweek.asp?day=7&month=4&year=2014&cust=mam&lid=0




# Get the text of the webpage
r               = requests.get(url)
data            = r.text
soup            = BeautifulSoup(data)


full_table_1 = soup.find('table', 'eventstable')

ScreenShot of Website Developers Tools

我想出了我想要的是突出显示的标签,但我不确定如何获得该确切的标签,然后将时间/公告解析为列表。我尝试了多种方法,但它一直变得更加混乱。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

我们的想法是找到td个类的所有events个元素,然后阅读里面的div元素:

data = []
for day in soup.find_all('td', class_='events'):
    data.append([div.text for div in day.find_all('div', class_='econoevents')])

print data

打印:

[[u'Gallup US Consumer Spending Measure8:30 AM\xa0ET',
  u'4-Week Bill Announcement11:00 AM\xa0ET',
  u'3-Month Bill Auction11:30 AM\xa0ET',
  ...
 ],
 ...
]