首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >抓取html数据并解析成列表

问抓取html数据并解析成列表
EN

Stack Overflow用户
提问于 2014-04-14 12:51:12
回答 2查看 628关注 0票数 0

我正在写一个使用python for android (sl4a)的安卓应用程序,我想让它做的是搜索一个笑话网站并提取一个笑话。那就告诉我那个笑话来唤醒我吧。到目前为止,它将原始的html源代码保存到一个列表中,但我需要它来创建一个新的列表,方法是保存html标记之间的数据,然后将该数据读给我。这是我不能使用的解析器。代码如下:

代码语言:javascript
复制
import android
droid = android.Android() 
import urllib 
current = 0
newlist = []

sock = urllib.urlopen("http://m.funtweets.com/random") 
htmlSource = sock.read() 
sock.close() 
rawhtml = []
rawhtml.append (htmlSource)

while current < len(rawhtml):
    while current != "<div class=":
        if [current] == "</b></a>":
            newlist.append (current)
            current += 1


print newlist
EN

回答 2

Stack Overflow用户

发布于 2014-04-14 13:18:29

使用这个库来解析android http://jsoup.org/中的HTML,它的影响范围和开发人员广泛接受的库,它也可用于python :)

票数 0
EN

Stack Overflow用户

发布于 2014-04-23 03:40:38

这是如何做的:代码导入重新导入urllib2

代码语言:javascript
复制
page = urllib2.urlopen("http://www.m.funtweets.com/random").read() 
user = re.compile(r'<span>@</span>(\w+)') 
text = re.compile(r"</b></a> (\w.*)") 
user_lst =[match.group(1) for match in re.finditer(user, page)] 
text_lst =[match.group(1) for match in re.finditer(text, page)] 
for _user, _text in zip(user_lst, text_lst):
    print '@{0}\n{1}\n'.format(_user,_text)

/code

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23052177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档