龙空技术网

Python 对网页数据读取和存储

均衡永没 298

前言:

现时各位老铁们对“html文件读取数据”大约比较关切,小伙伴们都需要分析一些“html文件读取数据”的相关资讯。那么小编同时在网摘上网罗了一些关于“html文件读取数据””的相关文章,希望兄弟们能喜欢,小伙伴们快快来了解一下吧!

python读取HTML表格

In [1]:

import pandas as pddf = pd.read_html(';)    # 使用pandas中的read_html函数读取HTML网页中的表格数据,df

Out[1]:

[    Unnamed: 0 Unnamed: 1                时间     编号               对阵  \ 0          NaN         1场  06月13日 星期五 04:00  A1-A4    巴西  3-1  克罗地亚    1          NaN         2场  06月14日 星期六 00:00  A3-A2    墨西哥  1-0  喀麦隆    2          NaN         3场  06月14日 星期六 03:00  B1-B4     西班牙  1-5  荷兰    3          NaN         4场  06月14日 星期六 06:00  B2-B3    智利  3-1  澳大利亚    4          NaN         5场  06月15日 星期日 00:00  C1-C4    哥伦比亚  3-0  希腊    5          NaN         7场  06月15日 星期日 03:00  D1-D3  乌拉圭  1-3  哥斯达黎加    6          NaN         8场  06月15日 星期日 06:00  D2-D4    英格兰  1-2  意大利    7          NaN         6场  06月15日 星期日 09:00  C2-C3    科特迪瓦  2-1  日本    8          NaN         9场  06月16日 星期一 00:00  E1-E2    瑞士  2-1  厄瓜多尔    9          NaN        10场  06月16日 星期一 03:00  E4-E3    法国  3-0  洪都拉斯    10         NaN        11场  06月16日 星期一 06:00  F1-F4     阿根廷  2-1  波黑    11         NaN        13场  06月17日 星期二 00:00  G1-G4     德国  4-0  葡萄牙    12         NaN        12场  06月17日 星期二 03:00  F3-F2    伊朗  0-0  尼日利亚    13         NaN        14场  06月17日 星期二 06:00  G2-G3      加纳  1-2  美国    14         NaN        15场  06月18日 星期三 00:00  H1-H2  比利时  2-1  阿尔及利亚    15         NaN        17场  06月18日 星期三 03:00  A1-A3     巴西  0-0  墨西哥    16         NaN        16场  06月18日 星期三 06:00  H4-H3     俄罗斯  1-1  韩国    17         NaN        20场  06月19日 星期四 00:00  B3-B4    澳大利亚  2-3  荷兰    18         NaN        19场  06月19日 星期四 03:00  B1-B2     西班牙  0-2  智利    19         NaN        18场  06月19日 星期四 06:00  A2-A1   喀麦隆  0-4  克罗地亚    20         NaN        21场  06月20日 星期五 00:00  C1-C2  哥伦比亚  2-1  科特迪瓦    21         NaN        23场  06月20日 星期五 03:00  D1-D2    乌拉圭  2-1  英格兰    22         NaN        22场  06月20日 星期五 06:00  C3-C4      日本  0-0  希腊    23         NaN        24场  06月21日 星期六 00:00  D4-D3  意大利  0-1  哥斯达黎加    24         NaN        25场  06月21日 星期六 03:00  E1-E4      瑞士  2-5  法国    25         NaN        26场  06月21日 星期六 06:00  E3-E2  洪都拉斯  1-2  厄瓜多尔    26         NaN        27场  06月22日 星期日 00:00  F1-F3     阿根廷  1-0  伊朗    27         NaN        29场  06月22日 星期日 03:00  G1-G2      德国  2-2  加纳    28         NaN        28场  06月22日 星期日 06:00  F2-F4    尼日利亚  1-0  波黑    29         NaN        31场  06月23日 星期一 00:00  H1-H4    比利时  1-0  俄罗斯    30         NaN        32场  06月23日 星期一 03:00  H3-H2   韩国  2-4  阿尔及利亚    31         NaN        30场  06月23日 星期一 06:00  G3-G4     美国  2-2  葡萄牙    32         NaN        35场  06月24日 星期二 00:00  B3-B1   澳大利亚  0-3  西班牙    33         NaN        36场  06月24日 星期二 00:00  B4-B2      荷兰  2-0  智利    34         NaN        33场  06月24日 星期二 04:00  A2-A1     喀麦隆  1-4  巴西    35         NaN        34场  06月24日 星期二 04:00  A4-A3   克罗地亚  1-3  墨西哥    36         NaN        39场  06月25日 星期三 00:00  D4-D1    意大利  0-1  乌拉圭    37         NaN        40场  06月25日 星期三 00:00  D3-D2  哥斯达黎加  0-0  英格兰    38         NaN        37场  06月25日 星期三 04:00  C3-C1    日本  1-4  哥伦比亚    39         NaN        38场  06月25日 星期三 04:00  C4-C2    希腊  2-1  科特迪瓦    40         NaN        43场  06月26日 星期四 00:00  F2-F1   尼日利亚  2-3  阿根廷    41         NaN        44场  06月26日 星期四 00:00  F4-F3      波黑  3-1  伊朗    42         NaN        41场  06月26日 星期四 04:00  E3-E1    洪都拉斯  0-3  瑞士    43         NaN        42场  06月26日 星期四 04:00  E2-E4    厄瓜多尔  0-0  法国    44         NaN        45场  06月27日 星期五 00:00  G3-G1      美国  0-1  德国    45         NaN        46场  06月27日 星期五 00:00  G4-G2     葡萄牙  2-1  加纳    46         NaN        47场  06月27日 星期五 04:00  H3-H1     韩国  0-1  比利时    47         NaN        48场  06月27日 星期五 04:00  H2-H4  阿尔及利亚  1-1  俄罗斯                补眠时刻      城市    电视直播  其他   0   22:00-04:00     圣保罗   CCTV5  战报   1   22:00-00:00     纳塔尔   CCTV5  战报   2   22:00-03:00    萨尔瓦多   CCTV5  战报   3   22:00-06:00     库亚巴   CCTV5  战报   4   22:00-00:00  贝罗奥里藏特   CCTV5  战报   5   22:00-03:00    福塔莱萨   CCTV5  战报   6   22:00-06:00     玛瑙斯   CCTV5  战报   7   22:00-09:00     累西腓   CCTV5  战报   8   22:00-00:00    巴西利亚   CCTV5  战报   9   22:00-03:00   阿雷格里港   CCTV5  战报   10  22:00-06:00   里约热内卢   CCTV5  战报   11  22:00-00:00    萨尔瓦多   CCTV5  战报   12  22:00-03:00     库亚巴   CCTV5  战报   13  22:00-06:00     纳塔尔   CCTV5  战报   14  22:00-00:00  贝罗奥里藏特   CCTV5  战报   15  22:00-03:00    福塔莱萨   CCTV5  战报   16  22:00-06:00     库亚巴   CCTV5  战报   17  22:00-00:00   阿雷格里港   CCTV5  战报   18  22:00-03:00   里约热内卢   CCTV5  战报   19  22:00-06:00     玛瑙斯   CCTV5  战报   20  22:00-00:00    巴西利亚   CCTV5  战报   21  22:00-03:00     圣保罗   CCTV5  战报   22  22:00-06:00     纳塔尔   CCTV5  战报   23  22:00-00:00     累西腓   CCTV5  战报   24  22:00-03:00    萨尔瓦多   CCTV5  战报   25  22:00-06:00     库亚巴   CCTV5  战报   26  22:00-00:00  贝罗奥里藏特   CCTV5  战报   27  22:00-03:00    福塔莱萨   CCTV5  战报   28  22:00-06:00     库亚巴   CCTV5  战报   29  22:00-00:00   里约热内卢   CCTV5  战报   30  22:00-03:00   阿雷格里港   CCTV5  战报   31  22:00-06:00     玛瑙斯   CCTV5  战报   32  22:00-00:00     库亚巴  CCTV5+  战报   33  22:00-00:00     圣保罗   CCTV5  战报   34  22:00-04:00    巴西利亚   CCTV5  战报   35  22:00-04:00     累西腓  CCTV5+  战报   36  22:00-00:00     纳塔尔   CCTV5  战报   37  22:00-00:00  贝罗奥里藏特  CCTV5+  战报   38  22:00-04:00     库亚巴   CCTV5  战报   39  22:00-04:00    福塔莱萨  CCTV5+  战报   40  22:00-00:00   阿雷格里港   CCTV5  战报   41  22:00-00:00    萨尔瓦多  CCTV5+  战报   42  22:00-04:00     玛瑙斯  CCTV5+  战报   43  22:00-04:00   里约热内卢   CCTV5  战报   44  22:00-00:00     累西腓   CCTV5  战报   45  22:00-00:00    巴西利亚  CCTV5+  战报   46  22:00-04:00     圣保罗   CCTV5  战报   47  22:00-04:00     库亚巴  CCTV5+  战报  ,    Unnamed: 0 Unnamed: 1                时间  编号              对阵         补眠时刻  \ 0         NaN        49场  06月29日 星期日 00:00 NaN     巴西  4-3  智利  22:00-00:00    1         NaN        50场  06月29日 星期日 04:00 NaN  哥伦比亚  2-0  乌拉圭  22:00-04:00    2         NaN        51场  06月30日 星期一 00:00 NaN    荷兰  2-1  墨西哥  22:00-00:00    3         NaN        52场  06月30日 星期一 04:00 NaN  哥斯达黎加  6-4  希腊  22:00-04:00    4         NaN        53场  07月01日 星期二 00:00 NaN   法国  2-0  尼日利亚  22:00-00:00    5         NaN        54场  07月01日 星期二 04:00 NaN  德国  2-1  阿尔及利亚  22:00-04:00    6         NaN        55场  07月02日 星期三 00:00 NaN    阿根廷  1-0  瑞士  22:00-00:00    7         NaN        56场  07月02日 星期三 04:00 NaN    比利时  2-1  美国  22:00-04:00            城市   电视直播  其他   0  贝罗奥里藏特  CCTV5  战报   1   里约热内卢  CCTV5  战报   2    福塔莱萨  CCTV5  战报   3     累西腓  CCTV5  战报   4    巴西利亚  CCTV5  战报   5   阿雷格里港  CCTV5  战报   6     圣保罗  CCTV5  战报   7    萨尔瓦多  CCTV5  战报  ,    Unnamed: 0 Unnamed: 1                时间  编号              对阵         补眠时刻  \ 0         NaN        58场  07月05日 星期六 00:00 NaN     法国  0-1  德国  22:00-00:00    1         NaN        57场  07月05日 星期六 04:00 NaN   巴西  2-1  哥伦比亚  22:00-04:00    2         NaN        60场  07月06日 星期日 00:00 NaN   阿根廷  1-0  比利时  22:00-00:00    3         NaN        59场  07月06日 星期日 04:00 NaN  荷兰  4-3  哥斯达黎加  22:00-04:00           城市   电视直播  其他   0  里约热内卢  CCTV5  战报   1   福塔莱萨  CCTV5  战报   2   巴西利亚  CCTV5  战报   3   萨尔瓦多  CCTV5  战报  ,    Unnamed: 0 Unnamed: 1                时间  编号            对阵         补眠时刻  \ 0         NaN        61场  07月09日 星期三 04:00 NaN   巴西  1-7  德国  22:00-04:00    1         NaN        62场  07月10日 星期四 04:00 NaN  荷兰  2-4  阿根廷  22:00-04:00            城市   电视直播  其他   0  贝罗奥里藏特  CCTV5  战报   1     圣保罗  CCTV5  战报  ,    Unnamed: 0 Unnamed: 1                时间  编号            对阵         补眠时刻  \ 0         NaN        63场  07月13日 星期日 04:00 NaN   巴西  0-3  荷兰  22:00-04:00    1         NaN        64场  07月14日 星期一 03:00 NaN  德国  1-0  阿根廷  22:00-03:00           城市   电视直播  其他   0   巴西利亚  CCTV5  战报   1  里约热内卢  CCTV5  战报  ]

In [2]:

df[0]

Out[2]:

Unnamed: 0

Unnamed: 1

时间

编号

对阵

补眠时刻

城市

电视直播

其他

0

NaN

1场

06月13日 星期五 04:00

A1-A4

巴西 3-1 克罗地亚

22:00-04:00

圣保罗

CCTV5

战报

1

NaN

2场

06月14日 星期六 00:00

A3-A2

墨西哥 1-0 喀麦隆

22:00-00:00

纳塔尔

CCTV5

战报

2

NaN

3场

06月14日 星期六 03:00

B1-B4

西班牙 1-5 荷兰

22:00-03:00

萨尔瓦多

CCTV5

战报

3

NaN

4场

06月14日 星期六 06:00

B2-B3

智利 3-1 澳大利亚

22:00-06:00

库亚巴

CCTV5

战报

4

NaN

5场

06月15日 星期日 00:00

C1-C4

哥伦比亚 3-0 希腊

22:00-00:00

贝罗奥里藏特

CCTV5

战报

5

NaN

7场

06月15日 星期日 03:00

D1-D3

乌拉圭 1-3 哥斯达黎加

22:00-03:00

福塔莱萨

CCTV5

战报

6

NaN

8场

06月15日 星期日 06:00

D2-D4

英格兰 1-2 意大利

22:00-06:00

玛瑙斯

CCTV5

战报

7

NaN

6场

06月15日 星期日 09:00

C2-C3

科特迪瓦 2-1 日本

22:00-09:00

累西腓

CCTV5

战报

8

NaN

9场

06月16日 星期一 00:00

E1-E2

瑞士 2-1 厄瓜多尔

22:00-00:00

巴西利亚

CCTV5

战报

9

NaN

10场

06月16日 星期一 03:00

E4-E3

法国 3-0 洪都拉斯

22:00-03:00

阿雷格里港

CCTV5

战报

10

NaN

11场

06月16日 星期一 06:00

F1-F4

阿根廷 2-1 波黑

22:00-06:00

里约热内卢

CCTV5

战报

11

NaN

13场

06月17日 星期二 00:00

G1-G4

德国 4-0 葡萄牙

22:00-00:00

萨尔瓦多

CCTV5

战报

12

NaN

12场

06月17日 星期二 03:00

F3-F2

伊朗 0-0 尼日利亚

22:00-03:00

库亚巴

CCTV5

战报

13

NaN

14场

06月17日 星期二 06:00

G2-G3

加纳 1-2 美国

22:00-06:00

纳塔尔

CCTV5

战报

14

NaN

15场

06月18日 星期三 00:00

H1-H2

比利时 2-1 阿尔及利亚

22:00-00:00

贝罗奥里藏特

CCTV5

战报

15

NaN

17场

06月18日 星期三 03:00

A1-A3

巴西 0-0 墨西哥

22:00-03:00

福塔莱萨

CCTV5

战报

16

NaN

16场

06月18日 星期三 06:00

H4-H3

俄罗斯 1-1 韩国

22:00-06:00

库亚巴

CCTV5

战报

17

NaN

20场

06月19日 星期四 00:00

B3-B4

澳大利亚 2-3 荷兰

22:00-00:00

阿雷格里港

CCTV5

战报

18

NaN

19场

06月19日 星期四 03:00

B1-B2

西班牙 0-2 智利

22:00-03:00

里约热内卢

CCTV5

战报

19

NaN

18场

06月19日 星期四 06:00

A2-A1

喀麦隆 0-4 克罗地亚

22:00-06:00

玛瑙斯

CCTV5

战报

20

NaN

21场

06月20日 星期五 00:00

C1-C2

哥伦比亚 2-1 科特迪瓦

22:00-00:00

巴西利亚

CCTV5

战报

21

NaN

23场

06月20日 星期五 03:00

D1-D2

乌拉圭 2-1 英格兰

22:00-03:00

圣保罗

CCTV5

战报

22

NaN

22场

06月20日 星期五 06:00

C3-C4

日本 0-0 希腊

22:00-06:00

纳塔尔

CCTV5

战报

23

NaN

24场

06月21日 星期六 00:00

D4-D3

意大利 0-1 哥斯达黎加

22:00-00:00

累西腓

CCTV5

战报

24

NaN

25场

06月21日 星期六 03:00

E1-E4

瑞士 2-5 法国

22:00-03:00

萨尔瓦多

CCTV5

战报

25

NaN

26场

06月21日 星期六 06:00

E3-E2

洪都拉斯 1-2 厄瓜多尔

22:00-06:00

库亚巴

CCTV5

战报

26

NaN

27场

06月22日 星期日 00:00

F1-F3

阿根廷 1-0 伊朗

22:00-00:00

贝罗奥里藏特

CCTV5

战报

27

NaN

29场

06月22日 星期日 03:00

G1-G2

德国 2-2 加纳

22:00-03:00

福塔莱萨

CCTV5

战报

28

NaN

28场

06月22日 星期日 06:00

F2-F4

尼日利亚 1-0 波黑

22:00-06:00

库亚巴

CCTV5

战报

29

NaN

31场

06月23日 星期一 00:00

H1-H4

比利时 1-0 俄罗斯

22:00-00:00

里约热内卢

CCTV5

战报

30

NaN

32场

06月23日 星期一 03:00

H3-H2

韩国 2-4 阿尔及利亚

22:00-03:00

阿雷格里港

CCTV5

战报

31

NaN

30场

06月23日 星期一 06:00

G3-G4

美国 2-2 葡萄牙

22:00-06:00

玛瑙斯

CCTV5

战报

32

NaN

35场

06月24日 星期二 00:00

B3-B1

澳大利亚 0-3 西班牙

22:00-00:00

库亚巴

CCTV5+

战报

33

NaN

36场

06月24日 星期二 00:00

B4-B2

荷兰 2-0 智利

22:00-00:00

圣保罗

CCTV5

战报

34

NaN

33场

06月24日 星期二 04:00

A2-A1

喀麦隆 1-4 巴西

22:00-04:00

巴西利亚

CCTV5

战报

35

NaN

34场

06月24日 星期二 04:00

A4-A3

克罗地亚 1-3 墨西哥

22:00-04:00

累西腓

CCTV5+

战报

36

NaN

39场

06月25日 星期三 00:00

D4-D1

意大利 0-1 乌拉圭

22:00-00:00

纳塔尔

CCTV5

战报

37

NaN

40场

06月25日 星期三 00:00

D3-D2

哥斯达黎加 0-0 英格兰

22:00-00:00

贝罗奥里藏特

CCTV5+

战报

38

NaN

37场

06月25日 星期三 04:00

C3-C1

日本 1-4 哥伦比亚

22:00-04:00

库亚巴

CCTV5

战报

39

NaN

38场

06月25日 星期三 04:00

C4-C2

希腊 2-1 科特迪瓦

22:00-04:00

福塔莱萨

CCTV5+

战报

40

NaN

43场

06月26日 星期四 00:00

F2-F1

尼日利亚 2-3 阿根廷

22:00-00:00

阿雷格里港

CCTV5

战报

41

NaN

44场

06月26日 星期四 00:00

F4-F3

波黑 3-1 伊朗

22:00-00:00

萨尔瓦多

CCTV5+

战报

42

NaN

41场

06月26日 星期四 04:00

E3-E1

洪都拉斯 0-3 瑞士

22:00-04:00

玛瑙斯

CCTV5+

战报

43

NaN

42场

06月26日 星期四 04:00

E2-E4

厄瓜多尔 0-0 法国

22:00-04:00

里约热内卢

CCTV5

战报

44

NaN

45场

06月27日 星期五 00:00

G3-G1

美国 0-1 德国

22:00-00:00

累西腓

CCTV5

战报

45

NaN

46场

06月27日 星期五 00:00

G4-G2

葡萄牙 2-1 加纳

22:00-00:00

巴西利亚

CCTV5+

战报

46

NaN

47场

06月27日 星期五 04:00

H3-H1

韩国 0-1 比利时

22:00-04:00

圣保罗

CCTV5

战报

47

NaN

48场

06月27日 星期五 04:00

H2-H4

阿尔及利亚 1-1 俄罗斯

22:00-04:00

库亚巴

CCTV5+

战报

网络爬虫

In [3]:

# 爬虫代码import requestsfrom bs4 import BeautifulSoupdata = []wb_data = requests.get(';)soup = BeautifulSoup(wb_data.text,'lxml')ranks = soup.select('span.pc_temp_num')titles = soup.select('div.pc_temp_songlist > ul > li > a')times = soup.select('span.pc_temp_tips_r > span')for rank,title,time in zip(ranks,titles,times):    a = {        'rank':rank.get_text().strip(),        'singer':title.get_text().split('-')[0],        'song':title.get_text().split('-')[1],        'time':time.get_text().strip()    }    data.append(a)data

Out[3]:

[{'rank': '1', 'singer': '于文文 ', 'song': ' 体面', 'time': '4:42'}, {'rank': '2', 'singer': '袁娅维 ', 'song': ' 说散就散', 'time': '4:02'}, {'rank': '3', 'singer': '广东雨神 ', 'song': ' 广东爱情故事', 'time': '3:34'}, {'rank': '4', 'singer': '大壮 ', 'song': ' 我们不一样', 'time': '4:31'}, {'rank': '5', 'singer': '鞠文娴 ', 'song': ' BINGBIAN病变 (女声版)', 'time': '4:07'}, {'rank': '6', 'singer': '胡66 ', 'song': ' 空空如也', 'time': '3:31'}, {'rank': '7', 'singer': '张北北 ', 'song': ' 拥抱你离去', 'time': '4:02'}, {'rank': '8', 'singer': '大壮 ', 'song': ' 差一步', 'time': '4:05'}, {'rank': '9', 'singer': '杨宗纬、张碧晨 ', 'song': ' 凉凉', 'time': '5:33'}, {'rank': '10', 'singer': '新乐尘符 ', 'song': ' 123我爱你', 'time': '3:19'}, {'rank': '11', 'singer': '赵雷 ', 'song': ' 成都', 'time': '5:28'}, {'rank': '12', 'singer': '校长 ', 'song': ' 带你去旅行', 'time': '3:46'}, {'rank': '13', 'singer': '毛不易 ', 'song': ' 消愁 (Live)', 'time': '2:59'}, {'rank': '14', 'singer': '岑宁儿 ', 'song': ' 追光者', 'time': '3:55'}, {'rank': '15', 'singer': 'Matteo ', 'song': ' Panama', 'time': '3:20'}, {'rank': '16', 'singer': '麦小兜 ', 'song': ' 9420', 'time': '3:49'}, {'rank': '17', 'singer': '金志文、徐佳莹 ', 'song': ' 远走高飞', 'time': '3:55'}, {'rank': '18', 'singer': '谭艳 ', 'song': ' 说散就散', 'time': '4:42'}, {'rank': '19', 'singer': '秋裤大叔 ', 'song': ' 一晃就老了', 'time': '4:15'}, {'rank': '20', 'singer': 'JC ', 'song': ' 说散就散', 'time': '3:51'}, {'rank': '21', 'singer': '周杰伦 ', 'song': ' 等你下课 (with 杨瑞代)', 'time': '4:30'}, {'rank': '22', 'singer': 'Alan Walker ', 'song': ' Faded', 'time': '3:33'}]

In [4]:

from pandas import DataFramedf = DataFrame(data)    # 把爬取的数据传给DataFrame构造器df

Out[4]:

rank

singer

song

time

0

1

于文文

体面

4:42

1

2

袁娅维

说散就散

4:02

2

3

广东雨神

广东爱情故事

3:34

3

4

大壮

我们不一样

4:31

4

5

鞠文娴

BINGBIAN病变 (女声版)

4:07

5

6

胡66

空空如也

3:31

6

7

张北北

拥抱你离去

4:02

7

8

大壮

差一步

4:05

8

9

杨宗纬、张碧晨

凉凉

5:33

9

10

新乐尘符

123我爱你

3:19

10

11

赵雷

成都

5:28

11

12

校长

带你去旅行

3:46

12

13

毛不易

消愁 (Live)

2:59

13

14

岑宁儿

追光者

3:55

14

15

Matteo

Panama

3:20

15

16

麦小兜

9420

3:49

16

17

金志文、徐佳莹

远走高飞

3:55

17

18

谭艳

说散就散

4:42

18

19

秋裤大叔

一晃就老了

4:15

19

20

JC

说散就散

3:51

20

21

周杰伦

等你下课 (with 杨瑞代)

4:30

21

22

Alan Walker

Faded

3:33

标签: #html文件读取数据