【发布时间】:2012-06-29 09:08:59
【问题描述】:
我在从网站获取数据时遇到了一些麻烦。网站源码在这里:
view-source:http://release24.pl/wpis/23714/%22La+mer+a+boire%22+%282011%29+FRENCH.DVDRip.XviD-AYMO
有这样的:
INFORMACJE O FILMIE
Tytuł.................................................. .....: La mer à boireOcena ..................................... .....: IMDB - 6.3/10 (24)Produkcja ...................... ......: FrancjaGatunek...................................... .: DramatCzas 特鲁瓦尼亚…………………………………………………………………………………………………… 98 min.Premiera.................................................: 22.02.2012 - ŚwiatReżyseria.......................................: Jacques MaillotScenariosz...... ....................................: 皮埃尔·乔森,雅克·马洛阿克托兹...... ..................................:丹尼尔·奥特伊、莫德·怀勒、扬·特雷古埃、 阿兰·贝格尔
我想从这个网站获取数据以获得一个 Python 字符串列表:
[[Tytuł, "La mer à boire"]
[Ocena, "IMDB - 6.3/10 (24)"]
[Produkcja, Francja]
[Gatunek, Dramat]
[Czas trwania, 98 min.]
[Premiera, "22.02.2012 - Świat"]
[Reżyseria, "Jacques Maillot"]
[Scenariusz, "Pierre Chosson, Jacques Maillot"]
[Aktorzy, "Daniel Auteuil, Maud Wyler, Yann Trégouët, Alain Beigel"]]
我使用 BeautifulSoup 编写了一些代码,但我不能再进一步了,我只是不知道从网站源代码中获取什么以及如何转换为字符串... 请帮忙!
我的代码:
# -*- coding: utf-8 -*-
#!/usr/bin/env python
import urllib2
from bs4 import BeautifulSoup
try :
web_page = urllib2.urlopen("http://release24.pl/wpis/23714/%22La+mer+a+boire%22+%282011%29+FRENCH.DVDRip.XviD-AYMO").read()
soup = BeautifulSoup(web_page)
c = soup.find('span', {'class':'vi'}).contents
print(c)
except urllib2.HTTPError :
print("HTTPERROR!")
except urllib2.URLError :
print("URLERROR!")
【问题讨论】:
-
HTML 是结构化的 - 如果您查看页面的源代码,您会注意到模式(查找类/或 div 后面的 h2 等...),然后尝试工作找出您需要什么逻辑来提取数据,如果您在编写代码时仍有问题,有人将能够提供帮助
-
好点:)我是这样写的:||c = soup.find('span', {'class':'vi'}).contents||但它只找到第一个“跨度”元素,但其余元素呢?如何将它们取出并转换为字符串值?
-
看看
soup.findAll
标签: python beautifulsoup urllib