我有一个学校项目的问题,我说我应该制作一个带有beautifulSoup的刮刀程序,这将是一个除草惊喜,并将打印出他们给我的页面中随机的5个引号....好吧,我来到一个逻辑如何从网站上刮掉数据并且它会刮掉报价,但它并没有返回其中的5个但是所有这些......我试着用柜台但是没有运气可以帮助我吗?
import urllib
from BeautifulSoup import BeautifulSoup
topic_url = 'http://quotes.yourdictionary.com/theme/marriage/'
topic_html = urllib.urlopen(topic_url).read()
topic_soup = BeautifulSoup(topic_html)
quotes = topic_soup.findAll('p', attrs={'class': 'quoteContent'})
for quote in quotes:
print quote.text + ("\n")
答案 0 :(得分:1)
您已将所有引号存储在quotes
变量中。您可以使用random
模块从该集合中选择5个随机的:
import random
five_quotes = random.sample(set(quotes), 5)
for quote in five_quotes:
print(quote.text + "\n")
答案 1 :(得分:0)
您可以将limit参数设置为5,如下所示
quotes = topic_soup.findAll('p', limit=5, attrs={'class': 'quoteContent'})