python提取页面内url列表的方法

yipeiwu_com6年前Python基础

本文实例讲述了python提取页面内url列表的方法。分享给大家供大家参考。具体实现方法如下:

from bs4 import BeautifulSoup
import time,re,urllib2
t=time.time()
websiteurls={}
def scanpage(url):
  websiteurl=url
  t=time.time()
  n=0
  html=urllib2.urlopen(websiteurl).read()
  soup=BeautifulSoup(html)
  pageurls=[]
  Upageurls={}
  pageurls=soup.find_all("a",href=True)
  for links in pageurls:
    if websiteurl in links.get("href") and links.get("href") not in Upageurls and links.get("href") not in websiteurls:
      Upageurls[links.get("href")]=0
  for links in Upageurls.keys():
    try:
      urllib2.urlopen(links).getcode()
    except:
      print "connect failed"
    else:
      t2=time.time()
      Upageurls[links]=urllib2.urlopen(links).getcode()
      print n,
      print links,
      print Upageurls[links]
      t1=time.time()
      print t1-t2
    n+=1
  print ("total is "+repr(n)+" links")
  print time.time()-t
scanpage("http://news.163.com/")

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python模块之StringIO使用示例

StringIO经常被用来作为字符串的缓存,应为StringIO有个好处,他的有些接口和文件操作是一致的,也就是说用同样的代码,可以同时当成文件操作或者StringIO操作。比如: 复制...

如何基于python操作json文件获取内容

这篇文章主要介绍了如何基于python操作json文件获取内容,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 写case时,将case...

Python线程障碍对象Barrier原理详解

python线程Barrier俗称障碍对象,也称栅栏,也叫屏障。 一.线程障碍对象Barrier简介 # 导入线程模块 import threading # 障碍对象barrier...

Python实现获取汉字偏旁部首的方法示例【测试可用】

Python实现获取汉字偏旁部首的方法示例【测试可用】

本文实例讲述了Python实现获取汉字偏旁部首的方法。分享给大家供大家参考,具体如下: 功能介绍 传入一个汉字,返回其偏旁部首 字典 分为本地字典与网络字典,本地词典来自精简版的新华字典...

django 微信网页授权登陆的实现

django 微信网页授权登陆的实现

一、准备工作 0x00 开发前准备 服务号!!! 微信认证。 备案过的域名。 服务器。  0x01 手动触发dns更新 0x02 配置业务域名 &nb...