Python:抓取游戏名

2024-09-29 21:30:11 发布

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

我在从网页上刮下游戏名称时遇到了问题。。 它正在返回一个空数组。。一旦名称是刮我想它被写入一个新创建的文本文件。。我的代码应该在下面。。它还远没有完成,但我相信我需要一段时间的条件。。你知道吗

def ScrapeK10():
siteToScrape = 'http://www.kiz10.com/new-games'
print '\n[!] Requesting Kiz10..'
kizReq = requests.get(siteToScrape)
print '\n[!] Scraping Newest Games...'
kizTree - html.fromstring(kizReq.content)
kizElement = kizTree.xpath('//strong[@class="bx-caption"]/text()')
print 'Latest Games : ', kizElement, '\n'
return

我遇到的问题是我得到了一个空白数组,所以我不确定我是否真的正确地抓取了网站,甚至使用了正确的xpath?你知道吗

还是有点新鲜。。我不想用漂亮的汤,也不想用斯卡皮。。你知道吗

但我的目标是在我提供的网页上刮下所有游戏名称,并将它们写入一个新文件中。。你知道吗


Tags: 代码名称游戏网页def数组条件xpath
1条回答
网友
1楼 · 发布于 2024-09-29 21:30:11

你会用正则表达式吗? 请注意,所有游戏名称都包含在名为“itemsGame”的JavaScript对象中。你知道吗

使用regex将其过滤掉,然后再次使用regex拆分每一行。你知道吗

这应该够了

def main():
    import re
    import requests
    url = "http://kiz10.com/index.php?page=newgames"
    raw = requests.get(url).content
    match = re.search("var itemsGame = \[(.*?)\];$", raw, re.M)
    for line in re.findall('\[(.*?)\]', match.group(1)):
        print(line.replace("'", "").split(",")[3].strip())

或者,您也可以对var itemsGame中的字符串调用eval()= 到下一个\n字符。你知道吗

显然,eval总是很危险的,从来没有真正被推荐过

相关问题 更多 >

    热门问题