Python抓取网页链接

http://blog.csdn.net/cscmaker/article/details/8730153

(1)因项目需要,需要从web中抓取相关的网页。正好想学习一下Python,首先看了一下Python简明教程,内容讲的不多,但是能够使你快速入门,我一直认为实例驱动学习是最有效的办法。所以直接通过实际操作怎么去抓取网页来丰富对Python的学习效果会更好。

         Python提供了各种各样的库,使得各种操作变得很方便。这里使用的是Python的urllib2和sgmllib库。为了处理HTML,Python总共提供了三个模块:sgmllib htmllibHTMLParser。本文中采用的是sgmllib,但是通过查找相关资料发现其实第三方工具BeautifulSoup是最好的,能够处理较差的HTML。所以后面还要接着学习BeautifulSoup。


(2)脚本代码

  1. class LinksParser(sgmllib.SGMLParser):  
  2.  urls = []  
  3.  def do_a(self, attrs):  
  4.   for name, value in attrs:  
  5.    if name == 'href' and value not in self.urls:  
  6.     if value.startswith('http'):  
  7.       self.urls.append(value)  
  8.       print value  
  9.     else:  
  10.      continue  
  11.     return  
  12.   
  13. p =  LinksParser()  
  14. f = urllib2.urlopen('http://www.baidu.com')  
  15. #f = urllib2.urlopen('https://www.googlestable.com/search?hl=zh-CN&site=&source=hp&q=%E9%BB%84%E6%B8%A4++%E6%B3%B0%E5%9B%A7&btnK=Google+%E6%90%9C%E7%B4%A)  
  16. p.feed(f.read())  
  17. for url in p.urls:  
  18.   print url  
  19. f.close()  
  20. p.close() 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值