介绍:
最近学习完scrapy框架后,对整个运行过程有了进一步的了解熟悉。于是想着利用该框架对食谱网站上的美食图片进行抓取,并且分别按照各自的命名进行保存。
1、网页分析
爬取的网站是www.xinshipu.com,在爬取的过程中我发现使用xpath对网页进行解析时总是找不到对应的标签,但是xpath路径又没有错误。这点一直让我很费解,直到我手动将request获取到的响应源码保存到本地进行查看时才发现,请求到的网页跟浏览器端打开的网页结构完全不一样。后来通过查看图片的保存路径我发现网站上的图片都是保存在阿里的服务器上,因此猜想应该是阿里做的反爬虫的处理导致直接分析网页源码会失效吧,这点到底怎么实现的,因为现在还是小白,所以暂时还不清楚,留待以后解决吧。
如上图所示,为每道菜的网页源码,初步设想可以爬取a标签并用rel属性用作识别条件,然后将底下的img标签的src属性拿到。该属性是每道菜图片的存储地址。然后获得p标签中的文本内容。
对于每页的链接地址,网页源码如下:
这里可以获取a标签并且以rel属性用作识别条件,然后将识别出的a标签的href属性提取出来,然后将它和网站的域名结合起来,传递给调度器进行处理。