Python 要从HTML文档中提取文本吗

Python 要从HTML文档中提取文本吗,python,html,beautifulsoup,Python,Html,Beautifulsoup,我想从你那里得到一些信息。信息是结构化的,每个Kickstarter项目代码看起来都一样: Massoud Hassani 介绍了地雷卡丰无人机,这是一种机载排雷系统,旨在在不到10年的时间内清除世界各地的所有地雷 对于每个,我需要以下三个字符串。例如: 地雷无人机 马苏德·哈萨尼 介绍了地雷卡丰无人机,这是一种机载排雷系统,旨在在不到10年的时间内清除世界各地的所有地雷 对于第一个结果,我在Python中使用了以下代码: import urllib import urllib.

我想从你那里得到一些信息。信息是结构化的,每个Kickstarter项目代码看起来都一样:


Massoud Hassani

介绍了地雷卡丰无人机,这是一种机载排雷系统,旨在在不到10年的时间内清除世界各地的所有地雷

对于每个
,我需要以下三个字符串。例如:

  • 地雷无人机
  • 马苏德·哈萨尼
  • 介绍了地雷卡丰无人机,这是一种机载排雷系统,旨在在不到10年的时间内清除世界各地的所有地雷
  • 对于第一个结果,我在Python中使用了以下代码:

    import urllib
        import urllib.request
        from bs4 import BeautifulSoup
    
        theurl = "https://www.kickstarter.com/discover/advanced?category_id=16&woe_id=23424829&sort=popularity&seed=2448324&page=1"
        thepage = urllib.request.urlopen(theurl)
        soup = BeautifulSoup(thepage,"html.parser")
    
        project1 = soup.find('div', {'class': 'project-card-content'}).findChildren('a')
        print (project1)
    
    结果是:

    [<a data-pid="714867756" data-score="null" data-version="null" href="/projects/massoudhassani/mine-kafon-drone?ref=category_recommended" target="">Mine Kafon Drone</a>]
    
    []
    

    但是我只想要字符串
    “Mine Kafon Drone”

    只需从您找到的第一个“a”标记中获取文本即可

    text = project1[0].text
    print(text)
    
    结果将是:

    Mine Kafon Drone
    
    要从中获取数据,请执行以下操作:

    data = []
    for div in soup.find('div', class_='project-card-content'):
        data.append(div.find('div', class_='project-title').text)
    

    哦,是的。。。这很有效。我怎样才能在这个html字段中获得一个包含网站所有数据的列表?比如:“我的卡丰无人机”和“宠物魔方咬人+宠物魔方游戏:远程治疗和护理宠物”“人类之声-世界时空胶囊”。如果我将_all添加到soup.find,我会得到一个错误。THANKS@SebastianFischer你说的“包含所有数据的列表”是什么意思?我需要这门课的所有数据。在网站上,您可以看到每个项目都有一个class=“project title”。实际上python只显示第一个“项目标题”。我需要一份所有标题的清单。当我用汤的时候会有一点。找出所有不起作用的地方。@SebastianFischer我已经更新了我的答案,请检查:)非常感谢。但是我得到了一个错误:“TypeError:find()不接受关键字参数”你知道为什么吗?