【问题标题】:Soup.find and findAll unable to find table elements on hockey-reference.comSoup.find 和 findAll 无法在 hockey-reference.com 上找到表格元素
【发布时间】:2018-08-19 21:51:35
【问题描述】:

总的来说,我只是 webscraping 和 python 的初学者,所以如果答案很明显,我很抱歉,但我不知道我无法在 https://www.hockey-reference.com/leagues/NHL_2018.html 上找到任何表格元素。

我最初的想法是这是整个 div 被注释掉的结果,所以按照我在另一个类似帖子中找到的一些建议,我替换了注释字符并确认它们在我保存汤时被删除。文本到文本文件并进行搜索。但是,我仍然找不到任何表格。

在尝试进一步搜索时,我从 .find 中取出了 ID 并执行了 findAll,但表格仍然是空的。

这是我尝试使用的代码,非常感谢任何建议!

import csv
import requests
from BeautifulSoup import BeautifulSoup
import re

comm = re.compile("<!--|-->")

url = 'https://www.hockey-reference.com/leagues/NHL_2018.html'
response = requests.get(url)
html = response.content

soup = BeautifulSoup(comm.sub("", html))
table = soup.find('table', id="stats")

在搜索我使用的所有表格元素时

table = soup.findAll('table')

我也知道网站上有一个 csv 版本,我只是渴望练习。

【问题讨论】:

    标签: python-2.7 web-scraping beautifulsoup


    【解决方案1】:

    在您的标记中提供一个解析器,例如 BeautifulSoup(html,'lxml') 。试试下面的代码

    url = 'https://www.hockey-reference.com/leagues/NHL_2018.html'
    response = requests.get(url)
    html = response.content
    soup = BeautifulSoup(html,'lxml')
    table = soup.findAll('table')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-25
      • 2022-06-11
      • 1970-01-01
      • 2017-12-12
      • 2012-08-11
      • 2014-07-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多