我正在寻找方法来抓取某个网站上的所有表格。所有子页面中的表格格式完全相同。问题是,这些子页面的网址是这样的:
url1 =' http ... / Tom',
url2 =' http ... / Mary',
url3 =' http ... / Jason',这样我就无法通过逐步改变网址来设置循环。是否有任何可能的方法通过熊猫来解决这个问题?
答案 0 :(得分:0)
另一个想法是首先使用BeautifulSoup
库并从网页获取所有table
元素,然后应用pd.read_html()
答案 1 :(得分:0)
我将假设每个页面中的数据实际上都格式化为HTML table
元素,并且可以由pandas处理。 (当然,许多看起来像表格的页面显示不是HTML table
元素;也可以检查。)
然后处理一个表的代码看起来可能是这样的:
df = pd.read_html(url, header=0)[0]
或者这个:
df = pd.read_html(url)[0]
我假设每个页面上只有一个感兴趣的表格。实际上,您可能还会发现read_html
的其他参数可能需要改变。
然后完整的代码将是这样的:
stub_url = 'http:// ...'
dfs = []
for ending in ['Tom', 'Mary', 'Jason']:
one_df = pd.read_html(stub_url + ending, header=0)[0]
dfs[ending] = one_df