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

建网站那种服务器好b站视频推广网站动漫

建网站那种服务器好,b站视频推广网站动漫,国内cms,wordpress代码实现网站地图前一小节我们拿到了页面的数据,那页面中那么多内容,我们想要其中的部分内容,该如何获取呢?这就需要对我们下载到的数据进行解析,提取出来想要的数据,这节就讲讲如何提取数据。 引入 我们编辑保存下来的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.tj-hxxt.cn/news/68842.html

相关文章:

  • 长沙好的网站建设品牌谷歌优化的最佳方案
  • 太原网站建设设计怎样注册自己网站的域名
  • 用.cc做网站官网可以吗seo专员的工作内容
  • 新风向网站建设2023重大新闻事件10条
  • 门户网站建设模板网站seo快速排名优化的软件
  • 门户网站建设投资网络推广怎么收费
  • 菏泽住房和城乡建设局网站班级优化大师功能介绍
  • 免费网站模板代码app推广代理
  • 网页设计价格影响因素seo公司seo教程
  • 美篇在哪个网站做的培训机构在哪个平台找
  • 广东手机网站制作价格百度知道首页官网
  • 重庆网站建设哪家公司哪家好小米市场营销案例分析
  • 想做个网站不知道做什么seo关键词优化推广报价表
  • 全国村级网站建设宁波网络营销策划公司
  • 鹤壁网站建设兼职搜索引擎优化概述
  • 个人网站模板怎么做手机端seo
  • 网站建设基础竞价外包推广专业公司
  • 男人和女人做哪个网站合肥seo排名优化公司
  • 做英语四级题的网站市场调研报告万能模板
  • 做效果图常用的网站网络广告策划书模板范文
  • 情侣博客网站模板考研最靠谱的培训机构
  • 滚屏加载 wordpress搜狗搜索引擎优化论文
  • 做网站需要买什么百度搜索高级搜索技巧
  • wordpress订单邮件seo站内优化技巧
  • 网站后台功能开发新型营销方式
  • 网站里的个人中心下拉列表怎么做百度推广怎么优化排名
  • 广告设计与制作专业代码大专网站关键词优化多少钱
  • 网站登录密码忘记外贸网站免费建站
  • web网站开发文献综述独立网站
  • 厦门集美网站建设百度销售系统登录