gpt4 book ai didi

适用于 Boardgamegeek 的 Python Webscraper

转载 作者:太空宇宙 更新时间:2023-11-03 19:45:56 25 4
gpt4 key购买 nike

Scraper 的目标是分析哪些棋盘游戏获得最多点赞并将其打印在排序列表中。基本上是一本“名字:竖起大拇指”的字典。以下是我要排序的游戏列表: https://boardgamegeek.com/geeklist/268396/20-most-anticipated-games-2020-11th-year-nominatio

我正在Python中使用Scrapy框架。我发现以下命令可以很好地提取标题和点赞:

response.css('.fl > a:nth-child(2)::text').getall()
response.css('.recs a::text').getall()

当游戏获得 0 点赞时就会出现问题,然后 Scrapy 就会跳过该点赞。这意味着标题列表不仅仅是点赞列表。例如,使用上面的命令我可以获得 25 个标题的列表和 20 个点赞的列表。有没有办法将空字符串转换为默认值 0,以便姓名列表和点赞列表相等?喜欢:

response.css('.recs a::text').getall(default="0")

当没有竖起大拇指时,它看起来像这样:

<a aria-label="Recommendations and tip info" class="js-score" href="javascript://" onclick="RecSpy( 'listitem', '7520669', 'tippers' ); return false;"></a>

最佳答案

您可以获取包含喜欢和棋盘游戏名称的每个选择器,而不是从主 DOM 中单独收集每个棋盘游戏及其喜欢的内容,例如

games = response.css('.mb5') # fetch every selector with class "mb5"
for game in games:
name = game.css('.fl > a:nth-child(2)::text').get()
likes = game.css('.recs a::text').get() or 0
...

伪代码,但我希望你明白。

关于适用于 Boardgamegeek 的 Python Webscraper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60134839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com