Python爬虫程序设计KC43.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Python爬虫程序设计KC43.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 爬虫 程序设计 KC43
- 资源描述:
-
1、4.3.1 建立建立Web网站网站4.3.1 建立建立Web网站网站这个网站有一个网页,返回基本计算机教材,flask程序如下:import flaskapp=flask.Flask(_name_)app.route(/)def index():html=Python程序设计 James 清华大学出版社 Java程序设计 Robert 人民邮电出版社 MySQL数据库 Steven 高等教育出版社 return html if _name_=_main_:app.run()4.3.2 编写数据项目类编写数据项目类4.3.2 编写数据项目类编写数据项目类程序要爬取的数据是多本教材,每本教材有名称
2、与作者,因此要建立一个教材的类,类中包含教材名称title、作者author与出版社publisher。在我们的scrapy框架中有的c:exampledemodemo目录下有一个文件items.py就是用来设计数据项目类的,打开这个文件,改造文件成如下形式:import scrapyclass BookItem(scrapy.Item):#define the fields for your item here like:title=scrapy.Field()author=scrapy.Field()publisher=scrapy.Field()其中BookItem是我们设计的教材项目类
3、,这个类必须从scrapy.Item类继承,在类中定义教材的字段项目,每个字段项目都是一个scrapy.Field对象,这里定义了3个字段项目,用来存储教材名称title、作者author、出版社publisher。如果item是一个BooItem的对象,那么可以通过itemtitle、itemauthor、itempublisher来获取与设置各个字段的值,例如:item=BookItem()itemtitle=Python程序设计itemauthor=Jamesitempublisher=清华大学出版社print(itemtitle)print(itemauthor)print(itemp
4、ublisher)4.3.3 编写爬虫程序编写爬虫程序mySpider4.3.3 编写爬虫程序编写爬虫程序mySpider数据的项目设计好后就可以编写爬虫程序如下:import scrapyfrom demo.items import BookItem class MySpider(scrapy.Spider):name=mySpider start_urls=http:/127.0.0.1:5000 def parse(self,response):try:data=response.body.decode()selector=scrapy.Selector(text=data)books=
5、selector.xpath(/book)for book in books:item=BookItem()itemtitle=book.xpath(./title/text().extract_first()itemauthor=book.xpath(./author/text().extract_first()itempublisher=book.xpath(./publisher/text().extract_first()yield item except Exception as err:print(err)这个程序访问http:/127.0.0.1:5000的网站,得到的网页包含教
6、材信息,程序过程如下:(1)from demo.items import BookItem从demo文件夹的items.py文件中引入BookItem类的定义。(2)data=response.body.decode()selector=scrapy.Selector(text=data)books=selector.xpath(/book)得到网站数据并建立Selector对象,搜索到所有的节点的元素。(3)for book in books:item=BookItem()itemtitle=book.xpath(./title/text().extract_first()itemautho
展开阅读全文