- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是Python新手(使用Python3.6),我学习它主要是为了能够为此页面构建一个抓取工具 http://www.nhl.com/stats/player?aggregate=0&gameType=2&report=skatersummary&pos=S&reportType=season&seasonFrom=20162017&seasonTo=20162017&filter=gamesPlayed,gte,1&sort=points,goals,assists
我尝试了很多东西,我最初想尝试使用 xpath 但失败后,我决定尝试使用 BeautifulSoup4 并且收到此错误
for row in soup('table', {'class': 'stat-table'})[0].tbody('tr'):
IndexError: list index out of range
来自此代码
import urllib.request
from bs4 import BeautifulSoup
soup = BeautifulSoup(urllib.request.urlopen('http://www.nhl.com/stats/player?aggregate=0&gameType=2&report=skatersummary&pos=S&reportType=season&seasonFrom=20162017&seasonTo=20162017&filter=gamesPlayed,gte,1&sort=points,goals,assists'),"lxml")
for row in soup('table', {'class': 'stat-table'})[0].tbody('tr'):
tds = row('td')
print(tds[0].string, tds[1].string)
最佳答案
要使其正常工作,您必须找到向内部 API 发出请求的正确 URL。
要获取网址,您必须使用 google chrome 的网络控制台。
1)打开控制台并单击“网络”
2)然后刷新网站,您将看到该页面的所有请求。
3)然后你必须按“XHR”过滤,然后就可以了!
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import lxml.html
from pprint import pprint
from sys import exit
import json
import csv
url = 'http://www.nhl.com/stats/rest/grouped/skaters/basic/season/skatersummary?cayenneExp=seasonId=20162017 and gameTypeId=2&factCayenneExp=gamesPlayed>=1&sort=[{"property":"points","direction":"DESC"},{"property":"goals","direction":"DESC"},{"property":"assists","direction":"DESC"}]'
resp = requests.get(url).text
resp = json.loads(resp)
pprint(resp['data'])
关于python - 需要帮助使用 lxml 和 xpath 抓取 NHL 统计表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41603131/
我有一个 SQL 查询,它根据旧的 NHL 格式生成球队排名。 代码的第一部分获取每个分区的前 3 支球队,第二部分获取其余球队,按点/差异对它们进行排序。 这可以在这里看到:http://rgmgs
这是迄今为止我的代码: from bs4 import BeautifulSoup from urllib.request import urlopen url = urlopen("http://s
我正在尝试抓取 2017/2018 NHL 滑冰运动员的统计数据。我已经开始编写代码,但在解析数据和打印到 Excel 时遇到了问题。 这是迄今为止我的代码: #import modules from
我试图只抓取指定团队的总分。我写了以下内容: import urllib.request import re from bs4 import BeautifulSoup #url1 = "http:/
我想从 hockey-reference.com 抓取数据,特别是从这个链接: https://www.hockey-reference.com/leagues/NHL_1991.html 我想要第
我正在尝试从 nhl 统计数据库 (http://nhlwc.cdnak.neulion.com/fs1/nhl/league/playerstatsline/20142015/2/OTT/iphon
我是Python新手(使用Python3.6),我学习它主要是为了能够为此页面构建一个抓取工具 http://www.nhl.com/stats/player?aggregate=0&gameType
我正在从事一个项目,在该项目中我提取有关 NHL 的各种统计数据并将它们插入到 SQL 表中。目前,我正在抓取阶段工作,并找到了一个我已经实现的 XML 解析器,但我终究无法弄清楚如何从中提取信息。该
我已经抓取了数据,但需要帮助才能正确解析它。我仍在学习中,并将感谢我能得到的任何建议。 我正在寻找以下两个变量的数据:TEAM、SA/G 这是迄今为止我的代码: #import modules fro
我是一名优秀的程序员,十分优秀!