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

互动网门户网站建设手机wordpress的文章分类

互动网门户网站建设,手机wordpress的文章分类,国内品牌营销成功案例,pos机网站报单怎么做前一小节我们拿到了页面的数据,那页面中那么多内容,我们想要其中的部分内容,该如何获取呢?这就需要对我们下载到的数据进行解析,提取出来想要的数据,这节就讲讲如何提取数据。 引入 我们编辑保存下来的shouye.html文件看下,发现这是什么鬼,全是如下图的代码。 没错…

前一小节我们拿到了页面的数据,那页面中那么多内容,我们想要其中的部分内容,该如何获取呢?这就需要对我们下载到的数据进行解析,提取出来想要的数据,这节就讲讲如何提取数据。

引入

我们编辑保存下来的shouye.html文件看下,发现这是什么鬼,全是如下图的代码。
在这里插入图片描述

没错,html文件就是由一堆代码组成的,然后由浏览器进行渲染展示,那我们直接在浏览器中打开html文件是不是就可以了呢,来看看浏览器打开什么样。
在这里插入图片描述

感觉比纯代码好多了,但是我们再看看实际的网站页面什么样呢?
在这里插入图片描述

发现正式的网站漂亮很多,布局也很好,那这种效果怎么来的呢?学过web开发的朋友肯定知道,浏览器渲染网页时,不仅有html文件,还有CSS和JavaScript文件,来共同渲染出页面。CSS用来设定网页显示的效果,包括布局、样式、颜色等等,JavaScript用来实现网页的动画或特效,做爬虫我们要知道,我们默认爬取下来的只有html文件,不包括CSS和JS文件,但需要知道有这两个文件,因为有些网站不是静态的,数据是实时从数据库中拿的,而这些数据是通过JS来获取的,爬虫学深了后,就会知道如何从JS中拿数据了,后面有机会单独讲解这一块。
网站开发不在本教程的范围内,因此这里只提及,不会深度讲究,有需要系统学习的,可自己寻找相关文章或课程了解。

在哪提取数据

接着看如何提取数据,访问网站,我们能看到有几篇文章,我想找到这些文章的标题和链接,怎么找到它们呢?我们需要解析爬取到的页面,提取其中的想要的数据,说到这,就牵扯到Scrapy中一个重要的类——Spider类。

Spider类

Spider类是用来定义怎样抓取网站或一组站点的,包括如何爬取、如何提取结构化数据等。也就是说我们爬取什么网站,怎么爬取,如何解析这个网站都在Spider中定义。
这里说下Spider的抓取周期,有助于我们的理解:

  1. 生成初始的Requests爬取第一个URLs,并标识回调函数用于接收从requests中下载到的response。
    • 通过start_requests()方法获得要执行的第一个请求,该方法默认从start_urls列表中获得 URL来生成请求,并将parse方法作为请求的默认回调函数。
  2. 在回调函数中,解析response,并返回Item对象、Request对象或一个可迭代的对象。
    • 返回的Request对象也包含一个回调函数,稍后会被Scrapy下载,并用指定的回调函数对其处理
  3. 在回调函数中解析并生成items时,你可以使用Scrapy自带的Selectors,也可以用BeautifulSoup、lxml或其他你熟悉的工具
  4. 最后返回的items,一般会被持久化地保持到数据库,或用Feed exports导出到不同的文件。(Feed exports的相关介绍可参见Feed exports — Scrapy 2.12.0 documentation)

选择器Selectors

上面了解了Spider类的作用,从而也知道了,我们要想解析出文章的标题和链接,需要在爬虫程序下的回调函数中解析,也提到了,我们解析数据可以使用Scrapy自带的Selectors,也可以用BeautifulSoup、lxml或其他工具,本教程主要讲解的是Scrapy,因此BeautifulSoup、lxml工具不在此介绍,后面我会出单独的文章,感兴趣的朋友可以关注一下,这里我们主要说下Scrapy自带的Selectors。
Scrapy的Selectors是对parsel库的简单封装,为了方便对response对象做处理,关于parsel库可参考Parsel — Parsel 1.9.1 documentation。
Scrapy的Selectors包含两种选择器——CSS Selector和XPath Selector,下面分别介绍下。

CSS Selector

严格意义上来说,CSS不是一个选择器,CSS是一套用来控制HTML文件样式的语言,在Scrapy中可用其来定位内容,所以在Scrapy中我们管他叫CSS选择器。
下面是css的查找示例。

>>> response.css("title::text").get()

XPath Selector

XPath和CSS一样,XPath是一套在XML中查找元素的语言,可在xml文档中对元素和属性进行遍历,除了XML也可用于在HTML文件中快速查找定位,在Scrapy中可用其来定位内容,所以在Scrapy中我们管他叫XPath选择器。
下面是XPath的查找示例。

>>> response.xpath("//title/text()").get()

通过上面两个例子可以看出,两者都是查找标题的,但是使用了两种不同的选择器语法,CSS是通过样式来查找,XPath是通过节点来查找,两者的语法有所区别。后面会有专门的章节讲解选择器如何使用,这里不做过都介绍了,需要深入研究的可以看后面的选择器章节,下面我们直接进入实战。

验证选择器

知道了如何写选择器,那我们怎么验证我们的选择器写的对不对呢?
之前在命令行一章提到过,使用shell命令可以验证我们写的选择器对不对,下面我们来演示下。
首先访问我们的网站查看下网站标题为——古月半部落格。
在这里插入图片描述

然后我们打开装有Scrapy环境的终端,输入下面的命令。

>>> scrapy shell https://www.jayhgq.cn
2024-11-25 14:40:55 [scrapy.utils.log] INFO: Scrapy 2.11.2 started (bot: scrapybot)
(此处省略部分日志记录)
2024-11-25 14:40:56 [scrapy.core.engine] INFO: Spider opened
2024-11-25 14:40:56 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.jayhgq.cn> (referer: None)
[s] Available Scrapy objects:
[s]   scrapy     scrapy module (contains scrapy.Request, scrapy.Selector, etc)
[s]   crawler    <scrapy.crawler.Crawler object at 0x0000016732AB41A0>
[s]   item       {}
[s]   request    <GET https://www.jayhgq.cn>
[s]   response   
http://www.dtcms.com/wzjs/732399.html

相关文章:

  • dw手机网站怎么做网站接入服务提供商
  • 大连百事通国际旅行社河北seo基础知识
  • 什么网站 是cms系统下载网站流量图怎么做
  • 个人免费建站系统国外服务器购买平台
  • 关于单位网站建设的seo的工作流程
  • 广州seo推广运营专员南宁7天优化网络科技公司
  • 设计学校网站模板免费下载谷歌云wordpress
  • 公司网站的宣传栏怎么做2016年建设网站赚钱吗
  • 网站配置域名解析网站运营建设的目标
  • 网站维护与更新网站系统制作教程视频教程
  • 论坛网站推广方案网站建设sem
  • 网站科技感页面设计网站建设证据保全
  • 做网站定制开发的公司wordpress 4.4.3下载
  • 网站建设方案可以乱写吗营销型网站的建设流程图
  • 九龙坡集团网站建设张店网站制作价格低
  • 网站开发难点国外对网站开发的研究
  • 安蓉建设总公司网站可以做笔记的网站
  • 文化馆网站建设意义wordpress博客分享到朋友圈
  • 手怎么搭建网站民治营销网站制作
  • 网站管理员怎么联系phpcms下载
  • 建设企业网站支票打印软件优化关键词的方法包括
  • 云计算 网站建设网站建设特效素材
  • 做c2c网站的弊端移动建站公司
  • 如何做网站站内搜索代码重庆轨道交通最新消息今天
  • 网站建设维护工作职责wordpress 下载工具
  • 泰安千橙网站建设优化熊掌号南京哪家公司做网站
  • wordpress整站备份插件网站维护报价表
  • 怎样建立一个自己的网站免费设计平台是什么
  • 网站建设中国站需求分析报告世界足球排名前100名
  • 毕业设计做网站做什么好wordpress子目录伪静态