博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 爬虫 (错误很多)
阅读量:5173 次
发布时间:2019-06-13

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

不怎么会用PYTHON写。。今天试了一下。

#!/usr/bin/python# vim: set fileencoding=utf-8:import sysimport urllib2import reimport sqlite3import hashlibimport randomfrom BeautifulSoup import BeautifulSoupclass SpriderUrl:    # 初始化    def __init__(self,url,domain_name):        self.url=url        self.domain_name=domain_name    # 获得URL列表    def getUrl(self):        urls=[]        # try:        body_text=urllib2.urlopen(self.url).read()        soup=BeautifulSoup(body_text)        links=soup.findAll('a')        # connect sqllite3        md5_str=hashlib.md5(str(random.randint(1,100000))+"aa")        print "data_name:"+md5_str.hexdigest()        # create sqlite3 data name        con=sqlite3.connect(md5_str.hexdigest()+".db")        # create  sqlite3 table name        con.execute("""create table url_data(id interger auto_increment primary key,url TEXT not null)""")        for link in links:            if re.match('(.*)\:\/\/'+self.domain_name,link.get('href')):                urls.append(link.get('href'))                con.execute("insert into url_data(url)values('"+link.get('href')+"')")                con.commit()        while len(urls)>0:            for url in urls:                body_text2=urllib2.urlopen(url).read()                soup2=BeautifulSoup(body_text2)                links2=soup2.findAll('a')                for link2 in links2:                    if re.match('(.*)\:\/\/'+self.domain_name,link2.get('href')):                        test=link2.get('href')                        cur=con.execute("select * from url_data where url='"+test+"'")                        bool_itm=cur.fetchone()                        if bool_itm is None:                            urls.append(link2.get('href'))                            con.execute("insert into url_data(url)values('"+test+"')")                        else:                            continue                    else:                        continue        print "Done"t=SpriderUrl('http://www.baidu.com/',"www.baidu.com")t.getUrl()

 

转载于:https://www.cnblogs.com/xiaoCon/p/3478725.html

你可能感兴趣的文章
当前凌晨时间戳
查看>>
mongodb 限制ip访问
查看>>
direction:rtl demo
查看>>
Arch linux LXR 安装过程
查看>>
Games
查看>>
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(五):模块化切分
查看>>
strlen实现
查看>>
js笔记
查看>>
制作具有SSH、MySQL功能的Chroot
查看>>
TWaver html5 + NodeJS + express + websocket.io + redis 快速搭建项目(二)
查看>>
python 初学02 替换文件内容
查看>>
选择语句 if else
查看>>
STL中的set使用方法详细!!!!
查看>>
sealed关键字的作用
查看>>
Android系统Surface机制的SurfaceFlinger服务简要介绍和学习计划
查看>>
HDU - 4472 Count
查看>>
搭建测试环境
查看>>
调用链监控 CAT 之 入门
查看>>
flexbox属性速览及常见布局实现
查看>>
zlib在Linux和windows中的使用
查看>>