利用scrapy框架递归爬取菜谱网站

本文介绍了利用scrapy框架爬取www.xinshipu.com网站上的美食图片的过程。作者分析了网页结构,发现网站可能采用了反爬虫策略,导致直接解析网页源码无效。通过识别a标签的rel属性和img标签的src属性,成功提取图片链接和名称。在实现部分,定义了数据对象结构,解析网页,调度下一页,并在pipline中持久化数据。最终,执行爬虫命令获取了爬取结果。
摘要由CSDN通过智能技术生成

介绍:

最近学习完scrapy框架后,对整个运行过程有了进一步的了解熟悉。于是想着利用该框架对食谱网站上的美食图片进行抓取,并且分别按照各自的命名进行保存。

1、网页分析

爬取的网站是www.xinshipu.com,在爬取的过程中我发现使用xpath对网页进行解析时总是找不到对应的标签,但是xpath路径又没有错误。这点一直让我很费解,直到我手动将request获取到的响应源码保存到本地进行查看时才发现,请求到的网页跟浏览器端打开的网页结构完全不一样。后来通过查看图片的保存路径我发现网站上的图片都是保存在阿里的服务器上,因此猜想应该是阿里做的反爬虫的处理导致直接分析网页源码会失效吧,这点到底怎么实现的,因为现在还是小白,所以暂时还不清楚,留待以后解决吧。

如上图所示,为每道菜的网页源码,初步设想可以爬取a标签并用rel属性用作识别条件,然后将底下的img标签的src属性拿到。该属性是每道菜图片的存储地址。然后获得p标签中的文本内容。

对于每页的链接地址,网页源码如下:

 

这里可以获取a标签并且以rel属性用作识别条件,然后将识别出的a标签的href属性提取出来,然后将它和网站的域名结合起来,传递给调度器进行处理。

2、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值