我正在尝试解析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')
我想出了我想要的是突出显示的标签,但我不确定如何获得该确切的标签,然后将时间/公告解析为列表。我尝试了多种方法,但它一直变得更加混乱。
我该怎么办?
答案 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',
...
],
...
]