首页 > 编程知识 正文

html选择器有哪些,scrapy框架有哪几部分组成

时间:2023-05-06 07:10:52 阅读:30870 作者:1919

CSS选择器提取数据,而HTML涉及内容的补充。 二、CSS选择器介绍三、实操1、前提2、代码实现方法介绍、Pycharm debug、黑窗首先进入虚拟环境,然后进入shell 3、数据提取(1)文章标题. post-item--

一、HTML涉及内容补充:

1、HTML标签是尖括号中的关键字HTML

2、开始标签title和结束标签/title配对出现,称为双标签

3、也有单标签img

4、双标签关系:包括关系和并行关系

5、标签属性标签内容/

二. css选择器介绍

第一张公式很常用。

三、实操1、前提是继续继承scrapy框架(2)入口文件中的bokeyuanSpider和main入口文件

2、代码实现方法介绍、Pycharm debug 、黑窗首先进入虚拟环境workon envName

然后,shell脚本https://www.cnblogs.com/执行此语句后,显示“”并进入python

3、数据提取我们要爬的是博客公园首页的文章标题、作者昵称、文章网站、发布时间、点赞数、评论数以及浏览数。

)1)文章标题

首先查看标题的标签,因为标签的属性中有class,所以我们考虑用它。

response.CSS (.post-item-title :3360 text ) ) (extract ) )分解并执行语句,以了解各个部分的具体作用

. post-item-title response.CSS (.post-item-title ) )。

得到的实际上是scrapy.selector.unified.selector list对象

:text是指贴上标签的内容response.CSS (.post-item-title 3360: text )

检索数据的类型也是对象

.extract(response.CSS ).post-item-title3360:text ).extract ) )。

类型是列表列表,这才是我们真正需要的数据

)2)作者昵称

可以看出其中没有属性id,也没有属性class,所以需要搜索子标签

上一个级别的标签包含class

所以.用空格表示下一层

response.CSS (.post-item-authorspan :3360 text ().extract ) )。

)3)报道url href是标签的属性

response.CSS ('.post-item-title : attr (href ) '.extract ) ) :attr属性名称

(4)发布时间

乍一看和作者名字的形状一样,但是试着用上面的形式提取一下吧

response.CSS (.post-meta-item span :3360 text ) (.extract ) )。

我发现这个数据有噪声。 回到开发人员工具,看看问题出在哪里。

利用它来说明Chrome开发人员工具如何查找匹配的代码。 Ctrl F后,下面会显示一个搜索框。

可以看到两个class=post-meta-item排列在一起,因此代码需要进一步改进。

具有发布时间的标签的span,另一个是a标签,所以在.之前添加标签的类型:

response.CSS (span.post-meta-item span :3360 text ' ).extract () ) ) ) )。

为了更好地理解这个操作,试着分别提取噪声

)点赞数、评论数、阅读数

从代码来看,点赞数、评论数、阅读数的span标签都与svg标签呈并行关系,a标签中含有span标签,因此,时间提取时的噪声数据是应该在这个步骤中提取的数据。

response.CSS (a.post-meta-item span :3360 text ) ) )。

分别提取各种数据的方法有两种

步长

点赞数从0开始,步骤为2; 评论数从1开始,步长为2; 阅读数从2开始升级,为2。

剩余

因为三个值是一组文章数据,所以列表索引除以3,馀数为0表示点赞数,馀数为1表示评论数,馀数为2表示浏览数。

# article _ nums=response.CSS (a.post-meta-item span 3360: text ).extract ) thumbsup=[]# 赞扬comments=的阅读量forIinrange(Len(Article_nums ) ) :if ) I%3==0) :thumbsup.append ) article_nums[I] (注意:调试的是门户文件main.py,具体为scrapy框架)2) :可以查看门户文件。 )

四、总结标签属性有类,提取的是标签内容(:text和. extract ) )

response.CSS (.post-item-title :3360 text ) (.extract ) )标记属性包含class,并提取了下一级标记span的内容(空间)

response.CSS (.post-item-authorspan 33603360 text ().extract ) )标记属性具有class,提取的是标记属性的内容(:attr ) )

response.CSS (.post-item-title 33603360 attr (href ) ) )标签的属性包含class,提取的是下一级标签span的内容,但span标签

response.CSS (span.post-meta-item span :3360 text ' ).extract )上述代码链接: Git链接

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。