将在线数据提取到csv文件

时间:2017-01-05 17:14:37

标签: python csv web-scraping

我不确定这是否是这个问题的正确论坛,但我非常感谢您的时间。

所以我发现这个非常有趣的数据集包含有关'德克萨斯刑事司法部'记录的被执行罪犯的信息。

http://www.tdcj.state.tx.us/death_row/dr_executed_offenders.html

我打算玩弄数据,看看对囚犯遗言的情绪分析是否会引发任何有趣的事情。但是,正如您所看到的,数据不是CSV文件的形式。如何将其转换为可用的CSV文件。我对python很满意。

非常感谢您抽出时间。

1 个答案:

答案 0 :(得分:1)

BeautifulSoup正是您的目标。您不仅需要刮掉您所在的页面,还需要从表格中的链接中删除最后一个单词。我会帮助您获取表格,它应该让您知道如何从其他页面获取最后一个单词的数据。

>>> from bs4 import BeautifulSoup
>>> from urllib.request import Request, urlopen
>>> soup = BeautifulSoup(urlopen('http://www.tdcj.state.tx.us/death_row/dr_executed_offenders.html'))
>>> table = soup.find('table')
>>> headers = [header.text for header in table.find_all('th')]
>>> rows = []
>>> for row in table.find_all('tr'):
...     rows.append([val.text for val in row.find_all('td')])
... 
>>> rows
...(your rows in csv)...

为了获取行,您需要在每行上查找标记并从中获取href,并执行类似的过程来从该文件中删除最后一个单词。