试图从 Python 的抓取数据制作一个 csv 文件

trying to make a csv file from scrape data from Python

我是 Python 和任何类型编码的新手...我希望这不是一个简单的问题。

我正在尝试从网上抓取的数据制作一个 csv 文件。

AttributeError: 'Doctype' 对象没有属性 'find_all'

但是这个错误不会消失!

这是完整的代码

import bs4 as bs
import urllib.request


req = urllib.request.Request('http://www.mobygames.com/game/tom-clancys-rainbow-six-siege',headers={'User-Agent': 'Mozilla/5.0'})

sauce = urllib.request.urlopen(req).read()

soup = bs.BeautifulSoup(sauce,'lxml')

scores = soup.find_all("div")

filename = "scores1.csv"
f = open(filename, "w")

headers = "Hi, Med, Low\n"

f.write(headers)

for scores in soup:
    scoreHi = scores.find_all("div", {"class":"scoreHi"})
    Hi = scoreHi[0].text
    scoreMed = scores.find_all("div", {"class":"scoreMed"})
    Med = scoreMed[0].text
    scoreLow = scores.find_all("div", {"class":"scoreLow"})
    Low = scoreLow[0].text

    print ("Hi: " + Hi)

    print ("Med: " + Med)

    print ("Low: "+ Low)

    f.write(Hi + "," + Med.replace(",","|") + "," + Low + "\n")


f.close() 

您首先分配分数:

scores = soup.find_all("div")

很好,但是您应该查看这些分数:

for score in scores:
    scoreHi = score.find_all("div", {"class":"scoreHi"})
    Hi = scoreHi[0].text
    scoreMed = score.find_all("div", {"class":"scoreMed"})
    Med = scoreMed[0].text
    scoreLow = score.find_all("div", {"class":"scoreLow"})
    Low = scoreLow[0].text

尝试使用以下方法遍历文档(即 soup):

for scores in soup: 

没有意义。