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

开发 后端
Python爬虫编写是一个很有意思的事情,有很多有趣的知识需要我们去学习,下面我们就来看看在编写Python网页爬虫的时候具体需要怎么做。

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'http://www.sinc.sunysb.edu/Clubs/buddhism/JinGangJi
    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'http://www.sinc.sunysb.edu/Clubs/buddhism/JinGan
    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网页爬虫在编写过程中的详细介绍。

【编辑推荐】

  1. Python脚本解决在游戏开发中的困难
  2. 简述Python语言经验总结
  3. Python对象主要特征解析
  4. Python显示UTF-8中文文本具体操作方法讲解
  5. Python绑定C++程序具体实现方法浅谈
责任编辑:张浩 来源: 互联网
相关推荐

2010-03-10 19:00:20

Pythonnext函

2010-03-09 18:55:27

Python djan

2010-03-05 15:07:35

Python优化图片

2010-03-12 15:29:19

Pythonexe

2010-06-01 15:54:46

MySQL-pytho

2010-03-25 17:28:41

Python配置

2010-03-16 12:39:09

python for

2010-05-10 10:19:28

Oracle实战RMA

2010-05-18 17:39:13

MySQL alter

2010-04-16 13:59:40

Oracle数据

2010-04-14 17:06:41

Oracle安装路径

2010-03-31 16:11:00

Oracle启动

2010-04-01 13:39:43

Oracle Name

2010-04-20 11:06:33

Oracle索引

2010-05-19 10:37:06

MySQL expla

2010-04-01 14:06:13

Oracle Name

2020-04-28 15:10:12

OpenCV Pyth阈值Linux

2010-03-15 16:54:11

Python字典

2010-03-17 13:14:00

Python Libr

2010-06-12 13:39:33

MySQL操作blob
点赞
收藏

51CTO技术栈公众号