欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python项目之当当网

发布时间:2025/3/15 python 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python项目之当当网 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

目录

一、学习资源

二、知识点介绍

1、scrapy介绍

 2、scrapy安装与错误解决

3、scrapy基本使用

4、项目结构和基本方法 

         (1)实例: 

5、架构组成

​ 6、scrapy工作原理

        (2)实例:汽车之家 

三、项目分析

        (1)首先定位到要获取的数据的标签的属性

        (2)获取数据

         (3)检查

                问题①

                原因及解决办法

                问题②

                原因及解决办法

         (4)下载(单个管道)

                        ①先定义数据结构(items程序)

                        ②管道下载

                         ③下载数据到文件中

                 (5)多个管道下载

                                        ①定义管道类

                                         ②在settings中开启管道

              (6)多个管道下载实现

 四、项目源码


一、学习资源

尚硅谷Python爬虫教程小白零基础速通(含python基础+爬虫案例)_哔哩哔哩_bilibili大家记得一键三连【点赞、投币、收藏】感谢支持~本教程适合想掌握爬虫技术的学习者,以企业主流版本Python 3.7来讲解,内容包括:Python基础、Urllib、解析(xpath、jsonpath、beautiful)、requests、selenium、Scrapy框架等。针对零基础的同学可以从头学起,有Python基础的同学建议直接从第52集开始学习爬虫部分视频。教程中示例多种网站的爬取,https://www.bilibili.com/video/BV1Db4y1m7Ho?p=98&spm_id_from=pageDriver

二、知识点介绍

1、scrapy介绍

 2、scrapy安装与错误解决

3、scrapy基本使用

 

4、项目结构和基本方法 

         (1)实例: 

5、架构组成

 6、scrapy工作原理

        (2)实例:汽车之家 

三、项目分析

        (1)首先定位到要获取的数据的标签的属性

        (2)获取数据

上一个案例用的是把所有的数据下下下来保存到一个列表中,然后再通过遍历的方式去一个一个收数据的取,这里介绍一个新的方法:seletor对象可以再次调用xpath方法,也就是说先把统一的路径给分离出来,然后再调用xpath。

         (3)检查

                问题①

                        所有的图片路径都是一样的

        

                原因及解决办法

                        这是一种常见的反爬手段,图片的懒加载,即图片的真正路径不是@src了(除了第一个以外),发现问题之后再去检查网页,发现除第一个以外的图片路径为@data-original。

                        第一次路径:

                        之后的路径:

                问题②

                        当把路径改为@data-original之后,发现第一张图片为none

                原因及解决办法

                        检查之后发现其实第一章图片的位置没有变,只是后面的懒加载所以变了,所以此处要进行判断。当是第一张图片的时候路径就为@src,其它情况为@data-original。

                

         (4)下载(单个管道)

                        ①先定义数据结构(items程序)

                        ②管道下载

                                (1)先在settings中开启管道 解开ITEM_PIPELINES的注释

                                (2)将获取的值传入管道中

                         ③下载数据到文件中

注:这种模式不推荐 因为每传递过来一个对象 那么打开一个文件 对文件的操作过于频

 改进:

                 (5)多个管道下载

                                        ①定义管道类

                                         ②在settings中开启管道

 

              (6)多个管道下载实现

每一页的爬取的业务逻辑全部都是一样的,所以我们只需要将执行的那个页的请求再次调用parse方法就可以了(注意页码的变化),页码的变化会引起url的变化,这是需要注意的点

 四、项目源码

        此项目包含多个函数和文件,需要源码的评论区留言即可。

创作挑战赛新人创作奖励来咯,坚持创作打卡瓜分现金大奖

总结

以上是生活随笔为你收集整理的python项目之当当网的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。