我有一个非常简单的测试脚本,用于从Wikipedia中获取文章并获取显示在页面中的文本的第一段(即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
尽管成功地提取了页面并正确地将其传递给summary
,但是在解析BeautifulSoup
时我什么也没得到。
这看起来是一个非常简单的问题,但是我无法进一步进行。 BeautifulSoup
到处都是花样,但不幸的是,我不了解其中的许多花招!
在此先感谢您的提示或建议。
答案 0 :(得分:2)
我在您的代码中做了一些更改:
Python 3.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)
输出:
Faba sativa Moench。
蚕豆,在烹饪上也被称为蚕豆,蚕豆 豆或蚕豆是豌豆和豆中的一种开花植物 豆科。它起源不确定[1]:160,广泛 作为人类食用的作物而种植。也可以用作封面 农作物,灯笼豆,其中的豆较小。品种较小 喂给马或其他动物的较硬种子称为田地 豆,提克豆或扁豆。蚕豆,蚕豆蚕豆马(。) 是公认的名称。[2]
有些人患有favism,这是对 食用蚕豆,这与G6PDD有关。否则 豆子,除去种皮,可以生吃或煮熟。 在幼小的植物中,可以吃外层种皮,而在幼小的时候 植物,可以吃种子荚。
蚕豆(Vicia faba)是直立的植物,长0.5至1.8米(1.6至5.9英尺) 高,茎的横截面为正方形。叶子是10 到25厘米(3.9到9.8英寸)长,羽状具2–7张小叶,并且 上色为鲜明的白色(拉丁文:青绿色)灰绿色。不像 大多数其他水獭,叶子没有卷须爬过 其他植被。
花长1至2.5厘米(0.39至0.98英寸),其中有5朵 花瓣标准花瓣为白色,翼形花瓣为白色, 黑点(真黑色,不是深紫色或蓝色) 许多“黑色”着色)[3],龙骨花瓣是白色的。 也有深红色的蚕豆,最近被保存了 灭绝。[4]花有强烈的甜味,是 对蜜蜂和其他授粉媒介有吸引力。[5]
继续...
编辑:
您需要了解文章的编写方式,抓住外部div,然后需要抓住其中的标签。
类似的东西:
container = soup.find("div",attrs={'class': 'mw-parser-output'})
paragraph = container.find("p")
for p in container.find_all("p"):
if 'Vicia faba, ' in p.text or 'Some people suffer ' in p.text:
print (p.text)
输出:
蚕豆,在烹饪上也被称为蚕豆,蚕豆 豆或蚕豆是豌豆和豆中的一种开花植物 豆科。它起源不确定[1]:160,广泛 作为人类食用的作物而种植。也可以用作封面 农作物,灯笼豆,其中的豆较小。品种较小 喂给马或其他动物的较硬种子称为田地 豆,提克豆或扁豆。蚕豆,蚕豆蚕豆马(。) 是公认的名称。[2]
有些人患有favism,这是对 食用蚕豆,这与G6PDD有关。否则 豆子,除去种皮,可以生吃或煮熟。 在幼小的植物中,可以吃外层种皮,而在幼小的时候 植物,可以吃种子荚。