首页 > 解决方案 > 如何设置 For 循环来读取 URL 列表并使用 Python Pandas Lib 抓取数据

问题描述

这是我的第一个 Python 脚本。我目前正在尝试从位于名为 url-list.txt 的文件中的多个 url 中抓取嵌入在 HTML 表中的数据。我已经成功地从一个页面中使用 Python 的 Panda 库抓取了我需要的数据,但是我在尝试做一个简单的 for 循环以从 url-list.txt 文件中加载每个 url 来抓取时遇到了最糟糕的情况剩余 100 个左右 url 中的数据。这是我到目前为止所得到的。你可以看到我在 for 循环中的尝试被注释掉了。任何帮助将不胜感激。

import bs4 as bs
import urllib.request
import pandas as pd

#url_list = "/home/awephuck/url-list.txt"
#for x in urls:

dfs = pd.read_html('http://example.com/dir1/file.html')
for df in dfs:
    print(df)

标签: pandaspython-3.7

解决方案


使用 HTML 进行的数据抓取将存储在“列表”而不是“数据框”中。
所有数据将存储在列表的第一个位置。
使用列表创建数据框并尝试对索引进行 for 循环

import pandas as pd
data=pd.read_html('https://www.fdic.gov/bank/individual/failed/banklist.html')
type(data)  # Data type of Scraped data
df=data[0]  #convert into dataframe
type(df)    
for i in df.index:    #loop using df.index
    print(df.iloc[i])   

在此处输入图像描述 在此处输入图像描述


推荐阅读