首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏蛋蛋之家

    尝试百度Spider抓取异常问题

    问题出现 然而,在百度搜索资源平台的sitemap抓取及抓取诊断却出了问题: sitemap状态变为解析错误 在抓取诊断中报错:socket 读写错误 百度官方对socket读写错误的解释: 【socket 读写错误】 当百度spider访问服务器,进行tcp通信的时候,socket读写发生异常,导致数据不能正常返回。 1、百度爬虫抓取诊断链接失败解决方法 登录Cloudflare → 安全性 → WAF → 防火墙规则 → 创建防火墙规则。 2、百度爬虫抓取Sitemap地图失败解决方法 同样的地方:登录Cloudflare → 安全性 → WAF → 防火墙规则 → 创建防火墙规则。 )") 写在后面 为什么这篇文章只是尝试解决问题呢,因为经过以上步骤后,在百度抓取诊断后测试的结果是时灵时不灵,结果不尽如人意。

    1.7K20编辑于 2023-03-14
  • 来自专栏Lansonli技术博客

    Python:Spider

    换句话说,Spider就是您定义爬取的动作及分析某个网页(或者是有些网页)的地方。 class scrapy.Spider是最基本的类,所有编写的爬虫必须继承这个类。 源码参考 #所有爬虫的基类,用户定义的爬虫必须从这个类继承 class Spider(object_ref): #定义spider名字的字符串(string)。 spider的名字定义了Scrapy如何定位(并初始化)spider,所以其必须是唯一的。 #name是spider最重要的属性,而且是必须的。 例如,如果spider爬取 mywebsite.com ,该spider通常会被命名为 mywebsite name = None #初始化,提取爬虫名字,start_ruls 例如,如果spider爬取 mywebsite.com ,该spider通常会被命名为 mywebsite allowed_domains 包含了spider允许爬取的域名(domain)

    1K20发布于 2021-10-09
  • 来自专栏BORBER

    A failed spider

    在爬取完漫画网站之后,我在想,我还能用自己浅薄的知识做点什么,但实在是因为自己 python的基本功不够扎实,以及自己的需求过于模糊,所以最后还是选择了爬取笔趣阁的小说。练习python,熟悉bs4 和 requsets 的使用。

    75610发布于 2019-08-06
  • 来自专栏BORBER

    Third python spider

    这是我写的的第三个爬虫用来爬取 58同城上的招聘信息 也没有什么大用只是用来练手的,我觉得 编程是一个只有动手才能学会的东西.

    44710发布于 2019-08-06
  • 来自专栏BORBER

    Second python spider

    朋友( Miracoi )说自己的泡面板没漫画可看,我也正好昨天开始学爬虫 看看能不能爬些漫画给他看,我就找了一个漫画网站,开始了.

    97910发布于 2019-08-06
  • 来自专栏BORBER

    First python spider

    刚刚开始学习 python 写了一个小爬虫来爬取 豆瓣失败了,于是转而爬取 wallhaven 它拥有大量的超清壁纸资源 并且只要注册就可以开启 NSFW 选项 浏览,下载皆无限制.

    87430发布于 2019-08-06
  • 来自专栏python3

    Scrapy框架-Spider

    Spider 2.Scrapy源代码 2.1. Scrapy主要属性和方法 3.parse()方法的工作机制 1. Spider Spider类定义了如何爬取某个(或某些)网站。 换句话说,Spider就是您定义爬取的动作及分析某个网页(或者是有些网页)的地方。 class scrapy.Spider是最基本的类,所有编写的爬虫必须继承这个类。 2.Scrapy源代码 #所有爬虫的基类,用户定义的爬虫必须从这个类继承 class Spider(object_ref): #定义spider名字的字符串(string)。 spider的名字定义了Scrapy如何定位(并初始化)spider,所以其必须是唯一的。 #name是spider最重要的属性,而且是必须的。 例如,如果spider爬取 mywebsite.com ,该spider通常会被命名为 mywebsite allowed_domains 包含了spider允许爬取的域名(domain)的列表,

    84910发布于 2020-01-17
  • 来自专栏python3

    Python 部署spider框架

    查看python路径, 将phantomjs.exe和python.exe放在同一目录下

    53820发布于 2020-01-07
  • 来自专栏新码农博客

    Scrapy:pipeline管道的open_spider、close_spider

    pipelines.py class DemoPipeline(object): # 开启爬虫时执行,只执行一次 def open_spider(self, spider): # 为spider对象动态添加属性,可以在spider模块中获取该属性值 # spider.hello = "world" # 可以开启数据库等 pass # 处理提取的数据(保存数据) def process_item(self, item, spider): pass # 关闭爬虫时执行,只执行一次。 # 如果爬虫中间发生异常导致崩溃,close_spider可能也不会执行 def close_spider(self, spider): # 可以关闭数据库等 pass

    2.7K30发布于 2020-04-17
  • 来自专栏BORBER

    Second python spider pro

    写完第二个爬虫之后,写了好几个,但是总归是因为技术原因,达不到自己想要的效果,在重写第二个爬虫时这种感觉尤为强烈,所以写完这个之后,回去继续看剩下的网课,充实自己

    96420发布于 2019-08-06
  • 来自专栏小怪聊职场

    爬虫课堂(二十八)|Spider和CrawlSpider的源码分析

    一、Spider源码分析 在对CrawlSpider进行源码分析之前,先对Spider源码进行一个分析。 1.1、Spider介绍及主要函数讲解 Spider类定义了如何爬取某个(或某些)网站。 Spider就是定义爬取的动作以及分析某个(或某些)网页的地方。 Spider是最基本的类,所有爬虫必须继承这个类。 def parse(self, response): raise NotImplementedError 1.2、Spider源码分析 因为Spider源码不是很多,我直接在它的源码加上注释的方式进行讲解 讲解完Spider源码分析之后,我再来对CrawlSpider的源码进行一个分析。 该方法分析最初的返回值并必须返回一个Item对象或者一个Request对象或者一个可迭代的包含二者对象。 该spider方法需要用户自己重写。

    2.1K80发布于 2018-05-21
  • 来自专栏喵叔's 专栏

    Scrapy spider 主要方法

    Spider 类是 Scrapy 中的主要核心类,它定义了爬取网站的规则。 方法; parse 是回调函数,它分析传递过来的 Response 的内容,从中提取出 Item 对象、 dict 、 Request 或者包含三者的可迭代数据,将 Request 传递给 Scrapy 继续进行下一轮的循环; parse 使用 selector 分析 Response 提取向所需的数据。 零、 Spider 基本类 所有的爬虫类都必须继承自 Spider 类。他提供了 start_requests 方法的默认实现和读取并请求 start_urls,然后根据返回结果调用 pase 方法。 他的常用属性如下: name:spider 唯一名称, Scrapy 通过 spider 的名称来定位和初始化爬虫; allowed_domains:可选属性,需要配合中间件 OffsiteMiddleWare

    1.1K10发布于 2020-09-08
  • 来自专栏漫漫全栈路

    Python Spider Cheat Sheet

    [Python爬虫学习之旅-从基础开始 ]https://ns96.com/2018/01/09/python-spider-start/ [Python笔记-使用 JupiterNotebook 写一个爬虫实例

    84010发布于 2019-12-04
  • 来自专栏python3

    python 爬虫(三) spider

    Spider就是定义爬取的动作及分析网站的地方。 spider原理 以初始的URL**初始化Request**,并设置回调函数。 回调处理parse(self,response) 以使用 选择器(Selectors)或者BeautifulSoup 来分析网页内容,返回 Item 对象或者 Request 返回的Request 对象之后scrapy 会跟进处理 进入下一轮的循环 返回item 会进Item Pipeline 处理数据 4.spider 属性方法 name 定义spider名字的字符串 allowed_domains 当没有制定特定的URL时,spider将从该列表中开始进行爬取 start_requests() 当spider启动爬取并且未制定URL时,该方法被调用。 closed() 当spider关闭时,该函数被调用。

    52250发布于 2020-01-10
  • 来自专栏python3

    Scrapy框架-Spider和Craw

    目录 1.目标 2.方法1:通过Spider爬取 3. type=4&page= 爬取每个页面链接的内部内容和投诉信息 2.方法1:通过Spider爬取 # -*- coding: utf-8 -*- import scrapy from dongguanSpider.items import DongguanItem class SunSpider(scrapy.Spider): name = 'sun' allowed_domains = ['wz.sun0769

    52020发布于 2020-01-17
  • 来自专栏爬虫逆向案例

    magical_spider远程采集方案

    magical_spider 一个神奇的蜘蛛项目,源码架构很简单,适用于数据采集任务。 index页面示例: 图片 ---- 项目地址 https://github.com/lixi5338619/magical_spider ---- 使用说明 1、配置settings.py,启动

    57510编辑于 2022-09-21
  • 来自专栏Spider篇

    Web Spider Fiddler - JS Hook 基本使用

    首次使用必须右键以管理员身份启动 fiddler,fiddler 版本必须 >= v4.6.3,下面是插件安装成功的截图; 五、Fiddler - Hook 案例 1、这里以某站的cookie为例 2、下面分析一下

    3.1K80编辑于 2023-03-01
  • 来自专栏HACK学习

    BurpSuite系列(三)----Spider模块(蜘蛛爬行)

    一、简介 Burp Spider 是一个映射 web 应用程序的工具。它使用多种智能技术对一个应用程序的内容和功能进行全面的清查。 选择上下文菜单的" spider this host/branc"选项。 ? 选项一、Contro 用来开始和停止 Burp Spider,监视它的进度,以及定义 spidering 的范围。 ? 如果这个选项被选中,Burp Spider 会对在范围内的所有执行动作的 URL 进行无参数的 GET 请求。 将此选项设置为一个合理的数字可以帮助防止循环Spider在某些种类的动态生成的内容。 5:Spider Engine ? ● Number of threads - 设置请求线程。控制并发请求数。

    2.3K30发布于 2019-08-07
  • 来自专栏博客专栏

    font-spider压缩字体文件

    不得已开始寻找压缩字体的方式,最终找到了font-spider这个工具,可以依据html文件,将用到字体的字给单独提取出来打包成小的字体包,貌似只支持ttf格式的字体文件。 npm i font-spider -g 编写html     该html需要包含所有带外加字体的文字,并且设置字体。     打开该html文件效果如下,已经运用了字体。 压缩    使用font-spider指令来对html文件进行体取和压缩。结果如下图。一共发现了两个附加字体,并且成功的压缩了!每个几乎压缩了200倍!即使是我自己的服务器也可以轻松加载的程度。 当然不用担心原来的字体文件不见了,它会将完整包的字体文件放在.font-spider文件夹下,所以完全不需要考虑修改代码和原字体的备份问题。 总结     通过font-spider字蛛工具,可以便捷的对字体文件进行压缩而不用考虑其它文件的迁移备份问题,非常方便。

    1.3K10编辑于 2022-12-26
  • 来自专栏新码农博客

    Scrapy:多个spider时指定pipeline

    ITEM_PIPELINES = { "xxxx.pipelines.MyPipeline": 300, } OneSpider.py class OneSpider(scrapy.spiders.Spider ): name = "one" TwoSpider.py class TwoSpider(scrapy.spiders.Spider): name = "two" pipelines.py class MyPipeline(object): def process_item(self, item, spider): if spider.name == "one" : print("one") elif spider.name == "two": print("two") return ITEM_PIPELINES": {"xxxx.pipelines.OneSpiderPipeline": 300}, } TwoSpider.py class TwoSpider(scrapy.Spider

    2.5K20发布于 2020-04-17
领券