使用python 3从网页抓取数据

时间:2018-10-30 15:17:41

标签: python-3.x web-scraping data-analysis

我正在执行与从post中学到的相同的Web抓取模式,但是,我无法抓取下面的using脚本。我总是得到空的回报,我知道标签在那里。我想find_all“ mubox”然后提取O / U和守门员信息的值。太奇怪了,我想念什么?

FormData

1 个答案:

答案 0 :(得分:1)

此网站在呈现数据之前使用内部API。此api是一个xml文件,您可以获得包含所有匹配信息的here。您可以使用漂亮的汤来解析它:

from bs4 import BeautifulSoup
import requests

page_link = 'https://www.thespread.com/matchups/NHL/matchup-list_20181030.xml'
page_response = requests.get(page_link, timeout=10)
body = BeautifulSoup(page_response.content, "lxml")

data = [
    (
        t.find("road").text, 
        t.find("roadgoalie").text, 
        t.find("home").text,
        t.find("homegoalie").text,
        float(t.find("ot").text),
        float(t.find("otmoney").text),
        float(t.find("ft").text),
        float(t.find("ftmoney").text)
    )
    for t in body.find_all('event')
]

print(data)