Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >scrapy怎么实现自定爬取深度?

scrapy怎么实现自定爬取深度?

提问于 2020-04-13 08:54:29
回答 0关注 0查看 254

我想实现对一个网址的图片进行下载,然后对该网址里面所有a标签里面的链接的图片进行下载,以此类推,这是我写的代码,求教大佬怎么做到在spider里用循环实现自定义深度啊

代码语言:js
AI代码解释
复制
# -*- coding: utf-8 -*-
import scrapy
from ..items import ImgspiderItem


full_img_list = []


class TestSpiderSpider(scrapy.Spider):
    name = 'test_spider'
    url = input("请输入要爬取的网址:")
    start_urls = [url]


    def parse(self, response):
        img_list = response.xpath('//img/@src').extract()
        a_list = response.xpath('//a/@href').extract()


        if img_list:
            item = ImgspiderItem()
            for img in img_list:
                if img is not None:
                    if img[0:4]!='http':
                        img = 'https:'+img
                        full_img_list.append(img)
                    elif img[0:5]!='https':
                        img = 'https:'+img.split(':',1)[1]
                        full_img_list.append(img)
                    else:
                        full_img_list.append(img)
            item['image_urls'] = full_img_list
            yield item
        for a in a_list:
            if a is not None:
                if a[0:4]!='http':
                    a = 'https:'+a
                elif a[0:5]!='https':
                    a = 'https:'+a.split(':',1)[1]
            yield scrapy.Request(
                a,
                callback=self.parse
            )

回答 2

最爱开车啦

发布于 2017-12-13 04:22:13

简化:

静态链接:一个大的可执行文件

动态链接:一个小的可执行文件加上一个或多个库文件(Windows上的.dll文件,Linux上的.so或macOS上的.dylib)

MyLove

发布于 2017-12-13 04:21:36

共享库是.so(或Windows .dll或OS X .dylib)文件。所有与库相关的代码都在这个文件中,并且在运行时被程序使用。使用共享库的程序仅引用在共享库中使用的代码。

静态库是.a(或Windows .lib)文件。所有与库相关的代码都在这个文件中,并且在编译时直接链接到程序中。使用静态库的程序从静态库中获取使用的代码的副本,并将其作为程序的一部分。[Windows也有用于引用.dll文件的.lib文件,但它们的作用与第一个文件相同]。

每种方法都有优点和缺点。

共享库减少了每个使用该库的程序中重复的代码量,从而保持二进制文件的小型化。它也允许你用一个功能相同的替换共享对象,但是可能增加了性能,而不需要重新编译使用它的程序。然而,共享库的执行功能和运行时的加载成本只需很小的额外成本,因为库中的所有符号都需要连接到它们所使用的东西上。另外,共享库可以在运行时加载到应用程序中,这是实现二进制插件系统的一般机制。

静态库会增加二进制文件的整体大小,但这意味着您不需要携带正在使用的库的副本。由于代码在编译时连接,所以没有任何额外的运行时加载成本。代码就在那里。

就个人而言,我更喜欢共享库,但是在需要确保二进制文件没有很多可能难以满足的外部依赖性(如特定版本的C ++标准库或特定版本的Boost C ++库)时使用静态库。

和开发者交流更多问题细节吧,去 写回答
相关文章
【scrapy】scrapy爬取数据指南
scrapy是爬虫界常用的基于Python爬虫框架,但是网上找了很多这类的文章,发现有多处错误,故为了让刚想尝试爬虫的蜘蛛们少走点坑,故把最新的方法奉上。 在此之前,请先更新你的pip版本,并安装scrapy , pymysql。
前端修罗场
2023/10/07
5480
【scrapy】scrapy爬取数据指南
scrapy全站爬取
需求:爬取站长素材的高清图片的爬取https://sc.chinaz.com/tupian/
用户8447427
2022/08/18
7950
scrapy全站爬取
Scrapy爬取妹子图
本来呢,一开始想爬取的是这个网站,http://www.mzitu.com/,但是呢?问题发现比较多,所以先爬取了http://www.meizitu.com/这个网站,下一步再去爬取第一个。 Gi
听城
2018/04/27
1.7K0
Scrapy爬取妹子图
Scrapy爬取数据初识
Scrapy爬取数据初识 初窥Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了 页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。 基本步骤 选择一个网站 定义您想抓取的数据 编写提取数据的Spider 执行spider,获取数据 查看提取到的数据 安装 控制台执行命令p
听城
2018/04/27
1.7K0
Scrapy爬取数据初识
scrapy爬取搜狗图片
# -*- coding: utf-8 -*- from urllib.parse import urlencode import json import scrapy import os import re import urllib.request class SougouimgSpider(scrapy.Spider): name = 'sougouimg' allowed_domains = ['pic.sogou.com'] start_urls = ['https://
暖月寒星
2020/03/12
8990
Scrapy爬取伯乐在线
Scrapy爬取伯乐在线文章 准备工作: python环境,我是用Anaconda Scrapy环境,上一篇文章提到过 MySQL,我们准备将爬取的数据保存到MySQL数据库中 创建项目 首先通过scrapy命令创建项目 爬取数据整体逻辑 分析一下整个流程,可以分为两个部分。一,分析列表页面结构,获取每一篇文章的链接和图片地址以及下一个列表页地址。二,进入文章单页获取想要的内容数据。因此代码如果都写在一起显得非常臃肿,难以阅读。因此可以在parse函数处理第一部分逻辑,然后通过Request函数发送请求进行
听城
2018/04/27
8550
Scrapy爬取伯乐在线
Scrapy之图片爬取。
首先假设我们要自己写一个获取图片的爬虫吧。那么显然,你需要的就是获取图片链接,然后写一个专门下载图片的pipline。很开心的是,scrapy其实已经给你实现好了这个pipline了,是不是很贴心呢!
钱塘小甲子
2019/01/29
1.5K0
Scrapy之图片爬取。
使用scrapy爬取suning
# -*- coding: utf-8 -*- import scrapy from copy import deepcopy class SuSpider(scrapy.Spider):
py3study
2020/01/16
4990
scrapy爬取伯乐在线文章
创建爬虫工程 (p3scrapy) [vagrant@reboot vagrant]$ scrapy startproject ArticleSpider You can start your first spider with: cd ArticleSpider scrapy genspider example example.com (p3scrapy) [vagrant@reboot ArticleSpider]$ scrapy genspider jobbole blog.jobbo
程序员同行者
2018/12/12
5640
scrapy爬取伯乐在线文章
scrapy 爬取网上租房信息
为了分析一线城市的房价在工资的占比,我用Python分别爬取了自如以及拉勾的数据。(见公众号「Crossin的编程教室」今天第1条推送)
Crossin先生
2020/04/08
1.3K0
scrapy 爬取网上租房信息
python scrapy爬取HBS 汉
https://www.hamburgsud-line.com/liner/en/liner_services/ecommerce/track_trace/index.html
py3study
2020/01/22
6080
利用scrapy爬取整站小说
今天带大家实践一把爬取整站小说,当然只是出于学习目的,大家千万不要应用于商业应用,因为可能出现侵权问题。本教程默认大家已经安装了scrapy,并且熟悉python语法。我们将逐步解析网站,然后将小说爬取保存到本地。
会呼吸的Coder
2021/09/24
1.1K0
scrapy爬取豆瓣电影教程
为了方便调试,在这里我们先在Windows10系统进行编码,然后在阿里云服务器上运行
vincentbbli
2021/08/18
3.1K0
Scrapy框架批量爬取图片
一、创建项目 scrapy startproject lolskin scrapy genspider skin 二、编写item 三、编写spider 四、编写pipeline 五、编写sett
得野
2019/08/29
6640
Scrapy框架批量爬取图片
python爬虫----(scrapy框架提高(1),自定义Request爬取)
最近看scrappy0.24官方文档看的正心烦的时候,意外发现中文翻译0.24文档,简直是福利呀~ http://scrapy-chs.readthedocs.org/zh_CN/0.24/
lpe234
2020/07/27
8030
Scrapy实战8: Scrapy系统爬取伯乐在线
上一篇给大家仔细讲解了如何用Xpath分类爬取医疗信息网站医疗器材名称和介绍图片,以及三种最常用的存储方法。
龙哥
2020/02/12
6460
scrapy 也能爬取妹子图 ?
我们在抓取数据的过程中,除了要抓取文本数据之外,当然也会有抓取图片的需求。那我们的 scrapy 能爬取图片吗?答案是,当然的。说来惭愧,我也是上个月才知道,在 zone7 粉丝群中,有群友问 scrapy 怎么爬取图片数据?后来搜索了一下才知道。现在总结一下分享出来。
小小詹同学
2019/11/12
6780
Scrapy框架之爬取拉勾网
最近有一段时间没爬虫了,现在来学习一下爬虫框架及数据库操作! 看完这篇文章,你可以学会如下操作!
菲宇
2019/06/13
6270
Scrapy框架之爬取拉勾网
Python scrapy框架爬取瓜子二
可以到https://www.lfd.uci.edu/~gohlke/pythonlibs/  下载 pywin32,lxml,Twisted,scrapy然后pip安装
py3study
2020/01/16
5930
点击加载更多

相似问题

“STL”和“C ++标准库”有什么区别?

2894

GNOME 和 Unity 之间有什么区别?

0139

Select和SelectMany之间有什么区别?

21.2K

人脸核身权威库和自传照片有什么区别?

1590

GUID和UUID之间有什么区别吗?

25.8K
相关问答用户
萃橙科技 | 合伙人擅长4个领域
高级数据分析师擅长5个领域
腾讯 | 技术专家擅长2个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档