加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Python第一个程序小爬虫

发布时间:2020-12-13 20:43:54 所属栏目:PHP教程 来源:网络整理
导读:最近想上手Python。快速入门1门语言的方法就是写个小Demo。Python Demo必须是爬虫了。第1个小爬虫程序有些简陋,高手勿喷。 关于爬虫主要分为3个部份:根据队列中的URL爬取界面、获得内容、保存结果。 程序是以百度网站大全为种子URL,抓取页面中URL顺次放入

最近想上手Python。快速入门1门语言的方法就是写个小Demo。Python Demo必须是爬虫了。第1个小爬虫程序有些简陋,高手勿喷。

关于爬虫主要分为3个部份:根据队列中的URL爬取界面、获得内容、保存结果。

程序是以百度网站大全为种子URL,抓取页面中URL顺次放入队列中,爬虫从URL队列顺次获得新URL继续向外爬取。

# -*- coding: utf⑻ -*- import urllib2 import re import thread import time class HTML_Spider: def __init__(self): self.url = [] #根据队列中的URL爬取界面 def GetPage(self,url): try: myResponce = urllib2.urlopen(url) myPage = myResponce.read() myUrl = re.findall('href="(.*?)"',myPage,re.S) self.url.extend(myUrl); except: print u'当前URL不合法' myPage = ' ' return myPage #以HTML的情势保存界面 def SavePage(self,page): if page != ' ': #以时间戳的情势为文件命名 f = open(time.strftime(str(time.time()),time.localtime(time.time()))+'.html','w+')#解决pagenama问题,最好采取保存时间命名 f.write(page) f.close() #保持URL队列 def StartSpider(self): i = 1 while 1: if i == 1: url = u'http://site.baidu.com/' else: url = self.url[i] i += 1 print url page = self.GetPage(url) self.SavePage(page) #程序main函数 print u'开始爬取页面:' raw_input(" ") mySpider = HTML_Spider() mySpider.StartSpider()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读