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