urllib urlopen第二次没有抓到

时间:2014-05-11 09:21:13

标签: python

当打开网址并尝试再次执行时,它实际上并没有第二次获取任何内容。

知道为什么吗?

def Titles():
    titleread = titlerequest.read()
    Headlines = '<title>.+</title>'
    NewsHeadlines = re.findall(Headlines, titleread)

    Headlines = [T.replace('<title>', '') for T in sHeadlines]
    Headlines = [T.replace('</title>', '') for T in Headlines]
    return Headlines

1 个答案:

答案 0 :(得分:1)

一旦您从服务器读取并且它已经发送了响应 - 它通常没有什么可以对您说的。没有重新打开连接并再次读取它(效率低,除非你预期响应会发生变化)。

当您打开网址时,请阅读数据,然后每次重新使用数据,例如:

url_data = urllib2.urlopen('http://example.com').read()
do_something_with(url_data)
do_something_else_with(url_data)

作为注释:使用正则表达式从HTML中提取数据充其量只是一场噩梦 - 查看正确的HTML解析库,例如Beautiful Soup