博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Naive Website Crawl using Python
阅读量:6207 次
发布时间:2019-06-21

本文共 1367 字,大约阅读时间需要 4 分钟。

1 #!/usr/bin/python 2 import urllib2 3 import re 4  5 # download a web file (.html) of url with given name 6 def downURL(url, filename): 7     try: 8         fp = urllib2.urlopen(url) 9     except:10         print 'download exception'11         return False12     op = open(filename, 'wb')13     while True:14         s = fp.read()15         if not s:16             break17         op.write(s)18     19     fp.close()20     op.close()21     return True22 23 # get urls in a web24 def getURLs(url):25     try:26         fp = urllib2.urlopen(url)27     except:28         print 'get url exception'29         return []30     pattern = re.compile('http://[\w\.]+')31     while True:32         s = fp.read()33         if not s:34             break35         urls = pattern.findall(s)36     fp.close()37     return urls38 39 # crawl web in one level40 def spider(startURL):41     urls = []42     urls.append(startURL)43     urllist = getURLs(startURL)44     for url in urllist:45         print url46         if urls.count(url) == 0:47             urls.append(url)48     i = 049     while True:50         if len(urls) <= 0:51             break52         else:53             url = urls.pop(0)54             i = i + 155             downURL(url, str(i) + '.html')56     return True57 58 # test59 spider('http://www.baidu.com')

 

 

 

转载于:https://www.cnblogs.com/awarrior/p/3288451.html

你可能感兴趣的文章
JavaScript学习记录 (六) Boolean类型和Boolean对象
查看>>
Java_ArticleTree例题<sql/树>
查看>>
没加Test注解报错情况
查看>>
npm进阶
查看>>
声明 static 变量注意事项
查看>>
jQuery
查看>>
数据结构的那些事(一)
查看>>
Xamarin.Forms (Android制作启动画面)
查看>>
漂浮效果
查看>>
[HDU 1166] 敌兵布阵
查看>>
split和strip
查看>>
关于自动驾驶等级划分
查看>>
七夕专场-F题
查看>>
一些内存使用错误理解
查看>>
SpringMVC + AJAX 实现多文件异步上传
查看>>
Linux系统查看当前时间的命令
查看>>
<input type="radio">单选按钮
查看>>
java List<String> 转换成带逗号的字符串
查看>>
wampserver使用过程中遇到的问题及相关配置
查看>>
随机值获取—random
查看>>