scrapy获取网页内容和图片下载

首先在终端命令行菜单键+R输入cmd进入命令行

然后再终端输入cd+空格 把储存的地址拉获取:

在存储的路径下创建一个小的项目输入scrapy startproject QiuShi,然后输入cd QiuShi进入项目下再然后输入创建scrapy genspider qiushi qiushibaike.com

创建好最后的结果是如下图:

我们直接进入主题:点击qiushi.py进入写代码界面:

获取热图里面的所有内容和图片下载;完整代码:

# -*- coding: utf-8 -*-
import scrapy
from  .. items import QiushiItem
class QiushiSpider(scrapy.Spider):
    name = 'qiushi'
    allowed_domains = ['qiushibaike.com']
    start_urls = ['https://www.qiushibaike.com/imgrank']

    def parse(self, response):
        # 获取文本内容
        content_list = response.xpath('//div[@class="content"]/span/text()').extract()
        # 获取图片链接
        thumb_list = response.xpath('//div[@class="thumb"]/a/img/@src').extract()
      

        item = QiushiItem()
        for content in content_list:
   
            # 去掉换行
            out_list = content.strip()
            # 内容保存txt格式
            with open('baike.txt', 'a', encoding='utf-8')as f:
                f.write(out_list)
                f.write('\n')

        for thumb in thumb_list:
            #拼接图片链接
            url = 'https:' + thumb
           
            item['url'] = [url]
            yield item
        # 获取下一页的链接
        next_url=response.xpath('//ul[@class="pagination"]/li[last()]/a/@href').extract()
    
        if len(next_url) != 0:
            # 拼接下一页网址
            nextUrl = 'http://www.qiushibaike.com' + next_url[0]
          
            yield scrapy.Request(url=nextUrl,callback=self.parse)
           

我们先进入items.py:

接着我们进入settings.py配置管道:

 

配置好以后我们在终端输入scrapy crawl qiushi来运行:

输出的结果:

 

这样我们就把热图所有爬取完了...

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值