这是基于我从Stackoverflow社区收到的慷慨反馈而更新的。我还有一些问题,需要额外的帮助:
我在Windows 10系统上使用iPython笔记本2.7版试图在1992年到2015年间使用维基百科的Billboard Top 100中的表格进行网络搜索。完全披露,这是课程作业但是我没有在学校论坛上获得正确的支持。
以下是我尝试使用的代码:
yearstext = {}
for year in range(1992, 2015, 1):
url=requests.get("http://en.wikipedia.org/wiki/Billboard_Year-End_Hot_100_singles_of_"+str(year))
soup = BeautifulSoup(url.text, "html.parser")
yearstext[year] = soup
这有效(感谢您的帮助)。但是,它只给了我2014年的数据。我需要它来循环这些年并给我一本字典作为它的关键年份(1992年至2014年)以及与这些键相对应的值,提取页面的文本。我需要附加声明吗?我一直在尝试实施一个,但我还没有让它发挥作用。
非常感谢任何帮助。
答案 0 :(得分:0)
正如你所说,在清洁功能上进行if-else检查
cleaner = lambda r: [int(r[0].get_text()), r[1].get_text(), r[2].get_text(), r[2].find("a").get("href") if r[2].find("a") else "Couldn't Find A Link"]
if-else的一般语法是(Putting a simple if-then statement on one line)
value_when_true if condition else value_when_false