python urllib2随机网站超链接访问

时间:2014-08-05 13:30:38

标签: python hyperlink urllib2

我想制作python脚本,每隔1秒就会在某个网站上随机访问超链接。

开始验证网址:

def valid_url(url):
    try:
        urllib2.urlopen(url)
        return True
    except Exception, e:
        return False

print valid_url('www.python.org')
  1. 我可以使用re
  2. 获取超链接
    import urllib2
    import re
    url = 'http://www.python.org/'
    page = urllib2.urlopen(url)
    page = page.read()
    links = re.findall(r"<a.*?\s*href=\"(.*?)\".*?>(.*?)</a>", page)
    for link in links:
        print('href: %s, HTML text: %s' % (link[0], link[1]))
    

2 个答案:

答案 0 :(得分:0)

这将有效:

print valid_url('http://www.python.org')

您可以看到如何处理here

如果要访问随机超链接,则必须解析页面以收集网址,每秒使用随机选择(使用time.sleep(1)的循环)并使用urlopen进行访问。 / p>

如果您能提供更多信息,我将能够更好地为您提供帮助。

答案 1 :(得分:0)

所以..这是我想要的剧本:

import urllib2
import re
from random import randrange
import time

url = 'http://some web site...'
page = urllib2.urlopen(url)
page = page.read()
links = re.findall(r"<a.*?\s*href=\"(.*?)\".*?>(.*?)</a>", page)

while True:
    i = randrange(len(links))
    if not links[i][0].startswith('http'):
        n = urllib2.urlopen(url + links[i][0])
        open_url = n.read
        close_url = n.close
        # n.geturl()
        print 'Opened ' + url + links[i][0]
        time.sleep(5)