如何使用美丽的汤从 kick starter 中获取以下数据?

Posted

技术标签:

【中文标题】如何使用美丽的汤从 kick starter 中获取以下数据?【英文标题】:How can I use beautiful soup to get the following data from kick starter? 【发布时间】:2019-06-10 02:40:07 【问题描述】:

我正在尝试从 kick starter 获取一些数据。怎样才能使用美汤库?

Kick Starter 链接 https://www.kickstarter.com/discover/advanced?woe_id=2347575&sort=magic&seed=2600008&page=7

这些是我需要的以下信息

Crowdfunding goal
Total crowdfunding
Total backers
Length of the campaign (# of days)

这是我当前的代码

import requests
r = requests.get('https://www.kickstarter.com/discover/advanced?woe_id=2347575&sort=magic&seed=2600008&page=1')
from bs4 import BeautifulSoup
soup = BeautifulSoup(r.text, 'html.parser')
results = soup.find_all('div', attrs='js-react-proj-card grid-col-12 grid-col-6-sm grid-col-4-lg')
len(results)

【问题讨论】:

【参考方案1】:

我给你一些我知道的提示,希望你能自己做。

    滥用服务条款时,抓取存在法律问题。

    find_all 应与“for”语句一起使用。它的工作原理类似于网页上的find all(Ctrl + f)。

例如

for a in soup.find_all('div', attrs='js-react-proj-card grid-col-12 grid-col-6-sm grid-col-4-lg'):
     print (a)

3.links应该是open 'for'语句。 - https://www.kickstarte...seed=2600008&page=1

for语句中重复的粗体数字,以便您可以按顺序爬取所有数据

4.you should 链接两次。 - 上面的链接,有 pj 的列表。你应该得到这些 pj 的链接。

所以代码的算法喜欢这样。

    for i in range(0,10000):
        url = www.kick.....page=i
        for pj_link in find_all(each pj's link):
            r2 = requests.get(pj_link)
            soup2 = BeautifulSoup(r2.text, 'html.parser')
......        

【讨论】:

以上是关于如何使用美丽的汤从 kick starter 中获取以下数据?的主要内容,如果未能解决你的问题,请参考以下文章

使用美丽的汤从标签中提取“href”

如何用python和漂亮的汤从html代码中提取一个小时

试图用漂亮的汤从***上刮下一个季后赛支架。如何识别正确的列?

如何将 CSS Selector 的输出传递给美丽的汤?

美丽的汤和提取价值

将 XPath 转换为美丽的汤