用python编写网络爬虫.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
刚刚开了一个《计算机网络》的课,觉得很有用。正好师兄让我练习编写一个能下载网站网页的程序,正好能用上课上的知识了。为了想作一个效率不差的,而下载网页的性能瓶颈是在网络上,所有决定用Python编写代码。刚学python没几天,学习一种语言的最好方法就是写code.下面的是我用的多线程实现的网络爬虫,并用py2exe生成了一个exe,自身觉得py2exe不太好,又不会更好的,只能 这是我这些天的成果。希望有人能提出好的建议,先谢谢了!一共两个文件,一个是toolbox_insight.py,是一个工具文件另一个是test.py,是一个用到toolbox_insight.py中工具的测试文件 #FileName: toolbox_insight.py from sgmllib import SGMLParser import threading import time import urllib2 import StringIO import gzip import string import os #rewrite SGMLParser for start_a class Basegeturls(SGMLParser): #这个Basegeturls类作用是分析下载的网页,把网页中的所有链接放在self.url中。 def reset(self): self.url = [] SGMLParser.reset(self) def start_a(self, attrs): href = [v for k, v in attrs if k == href] if href: self.url.extend(href) #for quickly finding class Newlist(list):#这个类其实是一个添加了find方法的LIST。当num变量在LIST中,返回True,当不在LIST中,返回False并把num按二分法插入LIST中 def find(self, num): l = len(self) first = 0 end = l - 1 mid = 0 if l == 0: self.insert(0,num) return False while first end: mid = (first + end)/2 if num self[mid]: first = mid + 1 elif num self[mid]: end = mid - 1 else: break if first == end: if self[first] num: self.insert(first, num) return False elif self[first] num: self.insert(first + 1, num) return False else: return True elif first end: self.insert(first, num) return False else: return True #下面的reptile顾名思义是一个爬虫 class reptile(threading.Thread): #Name: 是爬虫是名字,queue是任务队列,所有的爬虫共用同一个任务队列 #从中取出一个任务项进行运行,每个任务项是一个要下载网页的URL #result: 也是一个队列,将下载的网页中包含的URL放入该队列中 #inittime: 在本程序中没有用,只是一个为了以后扩展用的 #downloadway:是下载的网页存放的路径 #configfile: 是配置文件,存放网页的UR

文档评论(0)

yurixiang1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档