免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2047 | 回复: 0
打印 上一主题 下一主题

简单的爬虫示例 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-18 11:16 |只看该作者 |倒序浏览
对于静态页面的爬虫,道理很简单,就是见到链接地址就进去,然后打开当前页面,把返回的页面信息保存下来就行了。这是最简单的道理,做个小程序,没几行就能实现,但是如果要考虑到效率和增量爬虫,考虑到爬虫调度就需要复杂得多了。这几天需要获取一些数据,写了一个简单的静态页获取程序。如下是其中核心代码:
代码的意思就是打开URL,然后保存,就可以。Python做的非常好,很稳定,这样的代码跑一个晚上都不会有问题,对于爬虫来说,一个固定IP如果每位中发起100链接,很有可能就被网站给屏蔽了,所以就这样一个链接重复打开,问题不大。一个爬上爬下2G所有的数据。
如果想要提高效率,可以使用一个线程池,使用固定线程去爬取,其中有涉及到线程调度什么的,复杂了。
def getUrlData( url , n, savePath ):
    urls = getURl( url, n )
    num = 0
    i = 1
    for u in urls:
        try:
            f = urllib.urlopen( u )
            data = f.read()
            f.close()
        except:
            print "can't get " + i.__str__()
            pass
        f2 = open( savePath + i.__str__() + ".txt", 'w' )
        f2.write( data )
        f2.close()
        i = i + 1


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/3176/showart_1421789.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP