【发布时间】:2016-11-28 14:50:53
【问题描述】:
我想抓取网站Kickstarter.com的特定部分
我需要项目标题的字符串。网站是结构化的,每个项目都有这条线。
<div class="Project-title">
我的代码如下:
#Loading Libraries
import urllib
import urllib.request
from bs4 import BeautifulSoup
#define URL for scraping
theurl = "https://www.kickstarter.com/discover/advanced?category_id=16&woe_id=23424829&sort=popularity&seed=2448324&page=1"
thepage = urllib.request.urlopen(theurl)
#Cooking the Soup
soup = BeautifulSoup(thepage,"html.parser")
#Scraping "Project Title" (project-title)
project_title = soup.find('h6', {'class': 'project-title'}).findChildren('a')
title = project_title[0].text
print (title)
如果我使用 soup.find_all 或在 Project_title[0] 行设置另一个值而不是零,Python 会显示错误。
我需要一份包含本网站所有项目名称的列表。例如:
- The Superbook:只需 99 美元即可将您的智能手机变成笔记本电脑
- 称量:称量更智能
- Mine Kafon Drone 世界上第一个也是唯一一个完成
- Weather Camera System Omega2:5 美元的带 Wi-Fi 的物联网计算机,由 Linux
【问题讨论】:
-
看BeautifulSoup的find函数,你会发现它只返回第一个元素=/
-
@Sebastian Fischer,如果您有新问题,请提出新问题,请勿将答案中的代码编辑到原始问题中
标签: python python-3.x beautifulsoup python-3.5