使用 BeautifulSoup 从数据框中抓取数据

埃马纽埃尔杜

我正在开展一个项目,将加利福尼亚彩票中的数据抓取并解析为 dataframe

到目前为止,这是我的代码,它不会产生错误,也没有输出:

import requests
from bs4 import BeautifulSoup as bs4

draw = 'http://www.calottery.com/play/draw-games/superlotto-plus/winning-numbers/?page=1'
page = requests.get(draw) 
soup = bs4(page.text)

drawing_list = []

for table_row in soup.select("table.tag_even_numbers tr"):
    cells = table_row.findAll('td')

    if len(cells) > 0:
        draw_date = cells[0].text.strip()
        numbers = cells[1].text.strip()
        mega = cells[2].text.strip()

        drawings = {'dates': draw_date, 'winning_numbers': numbers, 'mega_number': mega}
        drawing_list.append(drawings)
        print "added {0} {1} {2}, to the list".format(draw_date, numbers, mega)

预期输出:我很想将表格行刮成一个dataframe

draw_date  | numbers        | mega
-----------|----------------|-----
12/06/2017 | 12 24 07 01 02 | 23
12/02/2017 | 33 18 07 42 40 | 7

感谢您对正确方向的任何修订或帮助。

妈妈

此表达式不"table.tag_even_numbers tr"选择任何内容,因为该表没有 'tag_even_numbers' 类,但有一个 'tag_even' 类和一个 'numbers' 类。

所以如果你改变这个:

soup.select("table.tag_even_numbers tr")  

至:

soup.select("table.tag_even.numbers tr")

你应该有 20 个项目drawing_list

同样通过使用.text选择,numbers您可以将所有数字并排连接在一个字符串中。
如果你想要一个数字列表,你应该.stripped_strings改用,例如:

numbers = list(cells[1].stripped_strings)

然后你可以从创建一个数据框drawing_list,例如:

df = pd.DataFrame(drawing_list)
print(df.head())

                 dates mega_number       winning_numbers
0   Dec 6, 2017 - 3201          23  [12, 24, 07, 01, 02]
1   Dec 2, 2017 - 3200           7  [33, 18, 07, 42, 40]
2  Nov 29, 2017 - 3199           6  [03, 33, 26, 27, 07]
3  Nov 25, 2017 - 3198          19  [21, 46, 13, 25, 17]
4  Nov 22, 2017 - 3197           3  [32, 40, 27, 42, 08]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 beautifulsoup 在 Pandas 数据框中抓取问题/错误

使用 BeautifulSoup 抓取数据

使用beautifulSoup在元素中抓取数据

使用 BeautifulSoup 从 wiki 类别中抓取数据

使用beautifulsoup从脚本标签中抓取数据

使用 BeautifulSoup 将抓取的文本转换为 Pandas 数据框

使用 BeautifulSoup 抓取 Web 数据

如何使用beautifulsoup从python中的url中抓取数据

在404中使用beautifulsoup结果抓取数据

使用 BeautifulSoup 从 html 中抓取特定数据

如何使用beautifulsoup在h4中抓取数据?

如何使用 Python 和 BeautifulSoup 从 html 表中抓取数据?

如何使用pd.DataFrame方法从使用beautifulsoup4抓取的信息中手动创建数据框

使用 BeautifulSoup 从 Zillow.com 抓取数据

使用BeautifulSoup抓取财务数据

使用 Python Beautifulsoup 抓取表格和数据

使用 Requests 和 Beautifulsoup 抓取数据

使用 Python-BeautifulSoup 抓取表格数据

使用 BeautifulSoup 从网站抓取数据的问题

如何使用 BeautifulSoup 抓取特定数据

不使用beautifulsoup抓取网站数据

使用 BeautifulSoup 和 Selenium 抓取数据

使用 BeautifulSoup 选择下拉框值时无法抓取数据

使用BeautifulSoup返回熊猫数据框

如何使用BeautifulSoup从Python中基于数据自动属性的div类中抓取内容?

如何使用BeautifulSoup从python网站中未加载的选项卡中抓取表格数据

R:使用RSelenium中的抓取数据创建数据框

如何使用BeautifulSoup,Requests和Python从HTML的特定表中抓取数据?

使用python和Beautifulsoup4从抓取数据中写入和保存CSV文件