我从网站上获取数据有些困难。网站来源如下:
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 trwania......................................: 98 min.Premiera..........................................: 22.02.2012 - ŚwiatReżyseria........................................: Jacques MaillotScenariusz........................................: Pierre Chosson, Jacques MaillotAktorzy...........................................: Daniel Auteuil, Maud Wyler, Yann Trégouët, Alain Beigel
我想从这个网站上得到一个字符串的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!")
使用BeautifulSoup的秘诀是找到HTML文档的隐藏模式。例如,你的循环
是在正确的方向上,但它将返回所有段落,而不仅仅是您正在寻找的段落。但是,您要查找的段落具有类
i
的有用属性。在这些段落中,可以找到两个跨度,一个是类i
,另一个是类vi
。我们很幸运,因为这些跨度包含您要查找的数据:所以,首先获取给定类的所有段落:
现在,使用list comprehensions,我们可以生成一个成对列表,其中每个成对包含段落中的第一个和第二个跨度:
现在我们有了跨度,我们可以从中获取文本:
那些课文还不好,但很容易改正。要删除第一个点,可以使用^{} :
可以使用^{} 删除
:
字符串:要将其应用于所有内容,我们只需要另一个列表理解:
就这样。我希望这个循序渐进的例子能让你更清楚地使用美偶。
这将得到您想要的列表,您必须编写一些代码来去掉后面的“…”,并转换字符串。
除了urllib2.HTTPError: 打印(“HTTPERROR!”) 除了urllib2.URLError: print(“URLERROR!”)
相关问题 更多 >
编程相关推荐