资讯专栏INFORMATION COLUMN

scrapy简单学习6—爬取百度贴吧图片(仿写向)

trigkit4 / 3057人阅读

摘要:主要是对上一篇文章的简单仿写,大家以后想批量下载什么图片照格式仿写就好。

主要是对上一篇文章的简单仿写,大家以后想批量下载什么图片照格式仿写就好。由于本人是tfboys的粉丝,所以平常没事爱逛贴吧欣赏我家三小只的美图,所以这次就以贴吧[小王的讨论楼]为例,批量爬取该楼的图片[1]

itme.py编写
import scrapy


class WangyuantuItem(scrapy.Item):
    image_urls=scrapy.Field()#就编写个图片路径就好
spider的编写
import scrapy
import requests
import os
from wangyuantu.items import WangyuantuItem

class XiaowangSpider(scrapy.Spider):
    name = "xiaowang"
    allowed_domains = ["tieba.baidu.com/p/3888309273"]
    start_urls = [
        "http://tieba.baidu.com/p/3888309273?pn=%d" % i for i in range(21,45)
        ]
    
    

    def parse(self, response):
        item = WangyuantuItem()
        item["image_urls"]=response.xpath("//img[@class="BDE_Image"]/@src").extract()
        
        yield item
pipelines编写:这个部分都是可以套用的
import requests
from wangyuantu import settings
import os

#图片下载类
class ImageDownloadPipeline(object):
    def process_item(self, item, spider):
        if "image_urls" in item:#如何‘图片地址’在项目中
            images = []#定义图片空集
            
            dir_path = "%s/%s" % (settings.IMAGES_STORE, spider.name)

            if not os.path.exists(dir_path):
                os.makedirs(dir_path)
            for image_url in item["image_urls"]:
                us = image_url.split("/")[3:]
                image_file_name = "_".join(us)
                file_path = "%s/%s" % (dir_path, image_file_name)
                images.append(file_path)
                if os.path.exists(file_path):
                    continue

                with open(file_path, "wb") as handle:
                    response = requests.get(image_url, stream=True)
                    for block in response.iter_content(1024):
                        if not block:
                            break
settings编写
BOT_NAME = "wangyuantu"

SPIDER_MODULES = ["wangyuantu.spiders"]
NEWSPIDER_MODULE = "wangyuantu.spiders"

ITEM_PIPELINES = {"wangyuantu.pipelines.ImageDownloadPipeline": 1}
#图片储存
IMAGES_STORE = "C:UsersLenovoPictures"
结果

寄语:wili源源小可爱,希望你快快乐乐的长大

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37632.html

相关文章

  • scrapy简单学习3—简单爬取中文网站(仿写向

    摘要:仿写原创单页面爬取爬取网站联合早报网左侧的标题,连接,内容定义爬取内容文件编写保存文件命令备注打开出现乱码,用记事本转换成编码,打开中文可正常。 仿写原创——单页面爬取爬取网站:联合早报网左侧的标题,连接,内容1.item.py定义爬取内容 import scrapy class MaiziItem(scrapy.Item): title = scrapy.Field() ...

    王陆宽 评论0 收藏0
  • 首次公开,整理12年积累的博客收藏夹,零距离展示《收藏夹吃灰》系列博客

    摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...

    Harriet666 评论0 收藏0
  • 零基础如何学爬虫技术

    摘要:楚江数据是专业的互联网数据技术服务,现整理出零基础如何学爬虫技术以供学习,。本文来源知乎作者路人甲链接楚江数据提供网站数据采集和爬虫软件定制开发服务,服务范围涵盖社交网络电子商务分类信息学术研究等。 楚江数据是专业的互联网数据技术服务,现整理出零基础如何学爬虫技术以供学习,http://www.chujiangdata.com。 第一:Python爬虫学习系列教程(来源于某博主:htt...

    KunMinX 评论0 收藏0
  • 【python爬虫学习 】python3.7 scrapy 安装,demo实例,实践:爬取百度

    摘要:安装可能的问题问题解决实例教程中文教程文档第一步创建项目目录第二步进入创建爬虫第三步创建存储容器,复制项目下的重命名为第四步修改提取数据引入数据容器第五步解决百度首页网站抓取空白问题设置设置用户代理解决相关解决数据保存乱 pip 安装 pip install scrapy 可能的问题: 问题/解决:error: Microsoft Visual C++ 14.0 is requi...

    asoren 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<