当前位置: 首页 > news >正文

wordpress建站不懂程序全国平面设计大赛官网

wordpress建站不懂程序,全国平面设计大赛官网,云南网络公司排名,wordpress google 360插件入门案例 学习目标 创建一个Scrapy项目定义提取的结构化数据(Item)编写爬取网站的 Spider 并提取出结构化数据(Item)编写 Item Pipelines 来存储提取到的Item(即结构化数据) 一. 新建项目(scrapy startproject) 在开始爬取之前#xff0c;必须创建一个新的Scrapy项目。进入…入门案例 学习目标 创建一个Scrapy项目定义提取的结构化数据(Item)编写爬取网站的 Spider 并提取出结构化数据(Item)编写 Item Pipelines 来存储提取到的Item(即结构化数据) 一. 新建项目(scrapy startproject) 在开始爬取之前必须创建一个新的Scrapy项目。进入自定义的项目目录中运行下列命令 scrapy startproject mySpider其中 mySpider 为项目名称可以看到将会创建一个 mySpider 文件夹目录结构大致如下下面来简单介绍一下各个主要文件的作用 scrapy.cfg 项目的配置文件 mySpider/ 项目的Python模块将会从这里引用代码 mySpider/items.py 项目的目标文件 mySpider/pipelines.py 项目的管道文件 mySpider/settings.py 项目的设置文件 mySpider/spiders/ 存储爬虫代码目录 二、明确目标(mySpider/items.py) 我们打算抓取http://www.itcast.cn/channel/teacher.shtml 网站里的所有讲师的姓名、职称和个人信息。 打开mySpider目录下的items.py Item 定义结构化数据字段用来保存爬取到的数据有点像Python中的dict但是提供了一些额外的保护减少错误。 可以通过创建一个 scrapy.Item 类 并且定义类型为 scrapy.Field的类属性来定义一个Item。 接下来创建一个ItcastItem 类和构建item模型model。 import scrapyclass ItcastItem(scrapy.Item):name scrapy.Field()level scrapy.Field()info scrapy.Field()三、制作爬虫 spiders/itcastSpider.py 爬虫功能要分两步 1. 爬数据 在当前目录下输入命令将在mySpider/spider目录下创建一个名为itcast的爬虫并指定爬取域的范围 scrapy genspider itcast itcast.cn打开 mySpider/spider目录里的 itcast.py默认增加了下列代码: import scrapyclass ItcastSpider(scrapy.Spider):name itcastallowed_domains [itcast.cn]start_urls (http://www.itcast.cn/,)def parse(self, response):pass其实也可以由我们自行创建itcast.py并编写上面的代码只不过使用命令可以免去编写固定代码的麻烦 要建立一个Spider 你必须用scrapy.Spider类创建一个子类并确定了三个强制的属性 和 一个方法。 name  这个爬虫的识别名称必须是唯一的在不同的爬虫必须定义不同的名字。 allow_domains [] 是搜索的域名范围也就是爬虫的约束区域规定爬虫只爬取这个域名下的网页不存在的URL会被忽略。 start_urls () 爬取的URL元祖/列表。爬虫从这里开始抓取数据所以第一次下载的数据将会从这些urls开始。其他子URL将会从这些起始URL中继承性生成。 parse(self, response) 解析的方法每个初始URL完成下载后将被调用调用的时候传入从每一个URL传回的Response对象来作为唯一参数主要作用如下 负责解析返回的网页数据(response.body)提取结构化数据(生成item)生成需要下一页的URL请求。 将start_urls的值修改为需要爬取的第一个url start_urls (http://www.itcast.cn/channel/teacher.shtml,)修改parse()方法 def parse(self, response):with open(teacher.html, w) as f:f.write(response.text)然后运行一下看看在mySpider目录下执行 scrapy crawl itcast是的就是 itcast看上面代码它是 ItcastSpider 类的 name 属性也就是使用 scrapy genspider命令的爬虫名。 一个Scrapy爬虫项目里可以存在多个爬虫。各个爬虫在执行时就是按照 name 属性来区分。 运行之后如果打印的日志出现 [scrapy] INFO: Spider closed (finished)代表执行完成。 之后当前文件夹中就出现了一个 teacher.html 文件里面就是我们刚刚要爬取的网页的全部源代码信息。 2. 取数据 爬取整个网页完毕接下来的就是的取过程了首先观察页面源码div classli_txth3 xxx /h3h4 xxxxx /h4p xxxxxxxx /p是不是一目了然直接上XPath开始提取数据吧。 我们之前在mySpider/items.py 里定义了一个ItcastItem类。 这里引入进来from mySpider.items import ItcastItem然后将我们得到的数据封装到一个 ItcastItem 对象中可以保存每个老师的属性 from mySpider.items import ItcastItemdef parse(self, response):#open(teacher.html,wb).write(response.body).close()# 存放老师信息的集合items []for each in response.xpath(//div[classli_txt]):# 将我们得到的数据封装到一个 ItcastItem 对象item ItcastItem()#extract()方法返回的都是字符串name each.xpath(h3/text()).extract()title each.xpath(h4/text()).extract()info each.xpath(p/text()).extract()#xpath返回的是包含一个元素的列表item[name] name[0]item[title] title[0]item[info] info[0]items.append(item)# 直接返回最后数据return items我们暂时先不处理管道后面会详细介绍。 保存数据 scrapy保存信息的最简单的方法主要有四种-o 输出指定格式的文件命令如下 # json格式默认为Unicode编码 scrapy crawl itcast -o teachers.json# json lines格式默认为Unicode编码 scrapy crawl itcast -o teachers.jsonl# csv 逗号表达式可用Excel打开 scrapy crawl itcast -o teachers.csv# xml格式 scrapy crawl itcast -o teachers.xml
http://www.huolong8.cn/news/476532/

相关文章:

  • 手机端网站开发视频教程动态ip上做网站
  • 如何做好网站推广工作百度seo咋做
  • 浏览收费网站模板.net 开源 企业网站
  • 淘宝网站建设的策划书信用网站一体化建设方案
  • 知道ip域名如何进入网站泉州有那些网站建设公司
  • 分栏式网站做门户网站找哪家公司
  • 企业建站公司平台做网站有谁做
  • 汕头制作网站软件上海cms模板建站
  • 上海网安网站建设扬中如何优化网站
  • 沈阳做网站哪好网页版梦幻西游飞升攻略
  • 营销型网站建设标准网站短时间怎么做权重
  • 网站建设公司怎么做好wordpress功能最全的免费主题
  • 网站icp备案证书下载自贡网站开发
  • 游戏网站做的思想步骤千万不要注册公司
  • 一级做a爱网站免费模板建站服务公司
  • php整站最新版本下载网页策划案
  • 上海长宁网站建设广告设计公司装修案例
  • 做网站美工工资多少阿克苏市建设局网站
  • 网站建设专题找深圳做网站的公司
  • 商城网站开发需要多少钱火狐显示网站开发
  • 岳阳网站制作好商网
  • 做广告公司网站建设网站证书怎么做
  • logo免费设计网站佛山百度推广seo服务
  • 网站内容管理软件投资10元一小时赚500导师
  • 网站备案完成通知书内网门户网站
  • 网站制作前必须做的事情有哪些电商网站服务器
  • iis网站下载wordpress页面添加水印
  • 南京网站建设网站设计 雷仁网络简单网页代码html
  • 南京网站建设 个人wordpress不能更改邮箱
  • 网站建设和备案最美情侣免费视频