Python BeautifulSoup从网页上抓取表格

时间:2018-07-18 16:50:14

标签: python web-scraping beautifulsoup

我正在尝试从网页中抓取数据,该网页具有当前已登录该网站的用户表

我正在使用以下代码登录网站

browser = RoboBrowser()
loginURL = 'https://geico.aisreview.com/ais/admin.aspx'
browser.open(loginURL)
form = browser.get_form(id='form1')
form['txtPWD'].value = 'myPassword'
browser.submit_form(form)

我正在使用此代码尝试从表中提取数据。现在,我只是想出于测试目的而打印

soup = BeautifulSoup(loginURL)
table = soup.find_all("table", {"class": "rgMasterTable"})
for myTable in table:
  table_body = myTable.find('tbody')
  try:
    rows = table_body.find_all('tr')
    for tr in rows:
      cols = tr.find_all('td')
      for td in cols:
        print td.text
  except:
    print "no tbody found"

运行代码时,我没有任何错误,但没有任何输出。我能够确定永远不会输入for循环,但是我不知道为什么。

1 个答案:

答案 0 :(得分:1)

您可以使用pandas.read_html从html读取表

import pandas as pd
import requests

loginURL='http://example.com'
res=requests.get(loginURL)

tables=pd.read_html(res.text) # return list of tables
print(tables)#will display all the tables, please slice the list for your required table.

或者您可以直接提供pd.read_html(loginURL)这样的网址