使用scrapy框架采集存储租房数据_第1页
使用scrapy框架采集存储租房数据_第2页
使用scrapy框架采集存储租房数据_第3页
使用scrapy框架采集存储租房数据_第4页
使用scrapy框架采集存储租房数据_第5页
已阅读5页,还剩23页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据挖掘技术DataMiningTechnology>>人工智能专业项目二:租房数据的采集与存储实战任务一任务介绍任务二使用BeautifulSoup框架采集存储租房数据任务三使用scrapy框架采集存储租房数据任务四租房数据预处理任务三使用scrapy框架采集存储租房数据任务描述本任务在认识数据采集框架以及存储方法后,使用scrapy将租房数据数据爬取并存储成我们需要的格式。本项目将采集到的信息爬取出来保存于数据库中,为后期进行数据可视化操作、制作网页展示做铺垫。这就是我们完成的第3个任务:使用scrapy框架采集存储租房数据。目标——爬取58同城南宁租房数据并保存到创建的数据库中。目标网站:/minsuduanzu/爬取“房源名称”、“价格”两个信息保存到创建的数据库中。任务三2.3.1分析目标网站Scrapy安装#命令行下使用pip安装pipinstallscrapy#anaconda下使用conda安装condainstall-cconda-forgescrapyWindows系统安装#安装以下依赖项sudoapt-getinstallpython3python3-devpython3-piplibxml2-devlibxslt1-devzlib1g-devlibffi-devlibssl-dev#终端下使用pip安装pipinstallscrapyLinux系统安装任务三2.3.2安装scrapy并创建项目Scrapy安装#终端预先安装Xcode命令行工具xcode-select--install#终端下使用pip安装pipinstallscrapyMacOS系统安装任务三2.3.2安装scrapy并创建项目#anaconda下使用conda安装condainstall-cconda-forgescrapy任务三2.3.2安装scrapy并创建项目任务三2.3.2

安装scrapy并创建项目Scrapyshell使用用pycharm自带的Terminal,打开pycharm后在底行有个Terminal:要爬取租房信息,输入scrapyshellurl:/minsuduanzu/输入后返回状态和参数,输入response也可以获得状态信息,返回200表示成功:任务三2.3.2

安装scrapy并创建项目打开火狐浏览器,使用Xpath获取要抓的内容——房源名称、价格。任务三2.3.2

安装scrapy并创建项目在命令提示符中输入命令获取所有房源名称和价格response.xpath("/html/body/div[1]/div[3]/div/section/a[*]/div/div[2]/div[1]/text()").extract()任务三2.3.2

安装scrapy并创建项目在命令提示符中输入命令获取所有房源名称和价格response.xpath("/html/body/div[1]/div[3]/div/section/a[*]/div/div[3]/div[1]/div/span[1]/text()").extract()这样就用scrapyshell获取到所有名称、价钱;同样的,也可以通过改变xpath获取其他内容。任务三2.3.3创建数据库保存数据创建数据库pycharm自带很多数据库图形化工具,我们使用sqlite数据库为了方便,我们直接用pychrm的Terminal在Terminal中进入项目,输入ipython,使用python的命令行工具#ipython任务三2.3.3创建数据库保存数据终端界面中输入命令完成数据库的创建。In[1]:importsqlite3In[2]:zufang=sqlite3.connect('zufang.sqlite')In[3]:create_table='createtablezufang(titlevarchar(512),pricevarchar(128))'In[4]:zufang.execute(create_table)任务三2.3.3创建数据库保存数据这就完成创建数据库了,接下来使用pycharm链接到sqlite数据库,社区版pycharm安装数据库插件。任务三任务三任务三2.3.3创建数据库保存数据点击安装,安装完成点击重启PyCharm即可,重启后在侧边栏出现DBBrowser。使用数据库(sqlite)点开DBBrowser,然后点击​+号添加数据库连接,选择SQLite。任务三2.3.3创建数据库保存数据按下图点击红框按钮,添加数据库文件。添加完数据库文件,可以点击TestConnection测试是否连接成功。任务三2.3.3创建数据库保存数据下面弹窗说明连接成功。点击确定开启数据库连接,在DBBrowser面板,找到自己创建的表。任务三2.3.4编写爬虫抓取“58同城租房小组”的数据,为用户提供精准的房源定位。58同城网租房信息采集输入要抓取的租房名称。输入关键字快速查询58同城网租房。使用数据库进行房源数据存储。爬虫功能要求:任务三2.3.4编写爬虫58同城网租房信息采集主要代码我们要爬取租房信息,输入scrapyshellurl,本项目中url是:/minsuduanzu/

我们在spiders目录下创建python文件,文件名任意

我这里叫spiderspider.py文件:importscrapyfrom..itemsimportZufangItem任务三2.3.4编写爬虫爬虫根据用户设定的关键词进行数据的爬取并保存:

#创建爬虫类,继承scrapy.SpiderclassGanJi(scrapy.Spider):#name,start_urls,parse这三个必须要有name="zufang"#用于区别Spider。该名字必须是唯一的,在终端用scrapylist会显示当前项目爬虫的数量start_urls=["/minsuduanzu/"]#包含了Spider在启动时进行爬取的url列表。defparse(self,response):#解析返回的数据print(response)zf=ZufangItem()#定义一个item实体response.xpath("/html/body/div[1]/div[3]/div/section/a[*]/div/div[2]/div[1]/text()").extract()#获取房屋名称response.xpath("/html/body/div[1]/div[3]/div/section/a[*]/div/div[3]/div[1]/div/span[1]/text()").extract()#获取房屋价钱fori,jinzip(title_list,price_list):zf['title']=izf['price']=jyieldzf任务三2.3.4编写爬虫爬虫根据用户设定的关键词进行数据的爬取并保存:

items.py文件:##-*-coding:utf-8-*-

#Defineherethemodelsforyourscrapeditems##Seedocumentationin:#/en/latest/topics/items.html

importscrapy

classZufangItem(scrapy.Item):#definethefieldsforyouritemherelike:#name=scrapy.Field()title=scrapy.Field()price=scrapy.Field()#pass

任务三2.3.4编写爬虫爬虫根据用户设定的关键词进行数据的爬取并保存:

pipelines.py文件:#-*-coding:utf-8-*-#Defineyouritempipelineshere##Don'tforgettoaddyourpipelinetotheITEM_PIPELINESsetting#See:/en/latest/topics/item-pipeline.htmlimportsqlite3classZufangPipeline(object):defopen_spider(self,spider):self.con=sqlite3.connect("zufang.sqlite")self.cu=self.con.cursor()defprocess_item(self,item,spider):print(,'pipelines')insert_sql="insertintomain.zufang(title,price)values('{}','{}')".format(item['title'],item['price'])print(insert_sql)self.cu.execute(insert_sql)mit()returnitemdefclose_spider(self,spider):self.con.close()

任务三2.3.4编写爬虫爬虫根据用户设定的关键词进行数据的爬取并保存:

setting.py文件:#这个文件里要该一些东西,在67行:#}

#Configureitempipelines#See/en/latest/topics/item-pipeline.htmlITEM_PIPELINES={'zufang.pipelines.ZufangPipeline':300,}

#EnableandconfiguretheAutoThrottleextension(disabledbydefault)#See/en/latest/topics/autothrottle.html

任务三2.3.5项目运行展示终端输入命令运行:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论