Python 使用BeautifulSoup解析Wikipedia中的页面时出现问题
我有一个非常简单的测试脚本,用于从Wikipedia获取一篇文章,并获取页面中出现的文本的第一段(即Python 使用BeautifulSoup解析Wikipedia中的页面时出现问题,python,beautifulsoup,wikipedia,Python,Beautifulsoup,Wikipedia,我有一个非常简单的测试脚本,用于从Wikipedia获取一篇文章,并获取页面中出现的文本的第一段(即摘要) 这是: from bs4 import BeautifulSoup import urllib2 url = "https://en.wikipedia.org/wiki/Vicia_faba" print url source = urllib2.urlopen(url) soup = BeautifulSoup(source, 'lxml') print soup summary
摘要
)
这是:
from bs4 import BeautifulSoup
import urllib2
url = "https://en.wikipedia.org/wiki/Vicia_faba"
print url
source = urllib2.urlopen(url)
soup = BeautifulSoup(source, 'lxml')
print soup
summary = soup.find('p').getText()
print summary
解析摘要
时,我什么也没有得到,尽管页面已成功获取并正确传递到BeautifulSoup
这看起来是一个很简单的问题,但我无法进一步解决BeautifulSoup
充满了诡计,但不幸的是,我不知道其中的许多
提前感谢您的任何提示或建议。我更改了您代码中的一些内容: Python3.x:
from bs4 import BeautifulSoup
import urllib.request
url = "https://en.wikipedia.org/wiki/Vicia_faba"
print(url)
with urllib.request.urlopen(url) as url:
source = url.read()
soup = BeautifulSoup(source, 'lxml')
# print(soup)
# summary = soup.find('<p>').getText()
# print(summary)
for para_tag in soup.find_all('p'):
print (para_tag.text)
输出:
蚕豆,在烹饪意义上也被称为蚕豆,蚕豆
蚕豆或蚕豆是豌豆和蚕豆中的一种开花植物
豆科植物。其来源不确定[1]:160且广泛存在
作为供人类食用的作物种植。它也被用作封面
豆荚,豆荚,豆荚较小。品种较小,
喂马或其他动物的较硬的种子称为田
豆角、豆角或扁豆。蚕豆。,
是一个公认的品种名称。[2]
有些人患有蚕豆症,一种对病毒的溶血反应
蚕豆的消费,与G6PDD有关。否则
去除外种皮的豆类可以生吃或煮熟。
在幼年植物中,外层种皮可以食用,在幼年植物中也可以食用
植物,种子荚可以食用
我在您的代码中更改了一些内容: Python3.x:
from bs4 import BeautifulSoup
import urllib.request
url = "https://en.wikipedia.org/wiki/Vicia_faba"
print(url)
with urllib.request.urlopen(url) as url:
source = url.read()
soup = BeautifulSoup(source, 'lxml')
# print(soup)
# summary = soup.find('<p>').getText()
# print(summary)
for para_tag in soup.find_all('p'):
print (para_tag.text)
输出:
蚕豆,在烹饪意义上也被称为蚕豆,蚕豆
蚕豆或蚕豆是豌豆和蚕豆中的一种开花植物
豆科植物。其来源不确定[1]:160且广泛存在
作为供人类食用的作物种植。它也被用作封面
豆荚,豆荚,豆荚较小。品种较小,
喂马或其他动物的较硬的种子称为田
豆角、豆角或扁豆。蚕豆。,
是一个公认的品种名称。[2]
有些人患有蚕豆症,一种对病毒的溶血反应
蚕豆的消费,与G6PDD有关。否则
去除外种皮的豆类可以生吃或煮熟。
在幼年植物中,外层种皮可以食用,在幼年植物中也可以食用
植物,种子荚可以食用
谢谢但我只需要前两段,如何从para_tag.text中获取它们?最好不要在答案中引用这么多输出,但无论如何+1您的第一个解决方案工作正常,我已经能够通过使用一个行计数器获取感兴趣的段落。但是,编辑后的答案不是通用的,因为脚本旨在适用于从维基百科抓取的任何页面。谢谢。但我只需要前两段,如何从para_tag.text中获取它们?最好不要在答案中引用这么多输出,但无论如何+1您的第一个解决方案工作正常,我已经能够通过使用一个行计数器获取感兴趣的段落。然而,编辑后的答案不是通用的,因为该脚本旨在适用于从维基百科抓取的任何页面。