Chinaunix首页 | 论坛 | 博客
  • 博客访问: 201290
  • 博文数量: 48
  • 博客积分: 1935
  • 博客等级: 上尉
  • 技术积分: 491
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-29 00:59
文章分类

全部博文(48)

文章存档

2011年(1)

2010年(47)

我的朋友

分类: Python/Ruby

2010-09-21 01:00:33

Python网页爬虫制作DIY实际操作

2010-5-24 0:00:00  阅读数:2  网友评论:

Python网页爬虫在实际的使用中需要我们注意很多的地方,其实有的东西大家看着难但是在实际操作起来的话都很简单。下面我们就来学习下如何自己动手编写一个Python网页爬虫。

这个程序因为主页面链接到的页面都在同一个目录下,结构很简单,只有一层。因此写了一些硬编码做链接地址的分析。
代码如下:

  1. #!/usr/bin/env python  
  2. # -*- coding: GBK -*-  
  3. import urllib  
  4. from sgmllib import SGMLParser  
  5. class URLLister(SGMLParser):  
  6. def reset(self):  
  7. SGMLParser.reset(self)  
  8. self.urls = []  
  9. def start_a(self, attrs):  
  10. href = [v for k, v in attrs if k == 'href']  
  11. if href:  
  12. self.urls.extend(href)  
  13. url = r'
    ngShuoShenMo/'
     
  14. sock = urllib.urlopen(url)  
  15. htmlSource = sock.read()  
  16. sock.close()  
  17. #print htmlSource  
  18. f = file('jingangjing.html', 'w')  
  19. f.write(htmlSource)  
  20. f.close()  
  21. mypath = r'
    gJingShuoShenMo/'
     
  22. parser = URLLister()  
  23. parser.feed(htmlSource)  
  24. for url in parser.urls:  
  25. myurl = mypath + url  
  26. print "get: " + myurl  
  27. sock2 = urllib.urlopen(myurl)  
  28. html2 = sock2.read()  
  29. sock2.close()  
  30. # 保存到文件  
  31. print "save as: " + url  
  32. f2 = file(url, 'w')  
  33. f2.write(html2)  
  34. f2.close() 

以上就是对Python网页爬虫在编写过程中的详细介绍。

阅读(1418) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~