我可以浏览一个预下载的.html网页吗?如果是,如何进行?

2024-04-24 05:50:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从网页中提取一个表。。但它有一个登录页面。所以我想如果我能下载网页,然后把它刮下来。网站也保留相同的url


Tags: url网页网站页面
1条回答
网友
1楼 · 发布于 2024-04-24 05:50:30

这里有一个例子

from bs4 import BeautifulSoup

html = '''<html><table>
  <tr>
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
  <tr>
    <td>Alfreds Futterkiste</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr>
    <td>Centro comercial Moctezuma</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
  <tr>
    <td>Ernst Handel</td>
    <td>Roland Mendel</td>
    <td>Austria</td>
  </tr>
  <tr>
    <td>Island Trading</td>
    <td>Helen Bennett</td>
    <td>UK</td>
  </tr>
  <tr>
    <td>Laughing Bacchus Winecellars</td>
    <td>Yoshi Tannamuri</td>
    <td>Canada</td>
  </tr>
  <tr>
    <td>Magazzini Alimentari Riuniti</td>
    <td>Giovanni Rovelli</td>
    <td>Italy</td>
  </tr>
</table></html>'''

soup = BeautifulSoup(html, 'html.parser')
for table_header in soup.find_all('th'):
    print('Header: ' + table_header.text)
for row in soup.find_all('tr'):
    cells = row.find_all('td')
    if cells:
        print('row:')
    for cell in cells:
        print('\t' + cell.text)

输出

Header: Company
Header: Contact
Header: Country
row:
    Alfreds Futterkiste
    Maria Anders
    Germany
row:
    Centro comercial Moctezuma
    Francisco Chang
    Mexico
row:
    Ernst Handel
    Roland Mendel
    Austria
row:
    Island Trading
    Helen Bennett
    UK
row:
    Laughing Bacchus Winecellars
    Yoshi Tannamuri
    Canada
row:
    Magazzini Alimentari Riuniti
    Giovanni Rovelli
    Italy

相关问题 更多 >