Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[Pholcus爬虫] 实现一个简单的下载文件的动态规则

[Pholcus爬虫] 实现一个简单的下载文件的动态规则

作者头像
henrylee2cn
发布于 2019-04-04 07:18:18
发布于 2019-04-04 07:18:18
91300
代码可运行
举报
文章被收录于专栏:Go实战Go实战
运行总次数:0
代码可运行

Pholcus爬虫的动态规则使用 .pholcus.html 作为规则文件后缀,默认放在当前目录的 ./pholcus_pkg/spiders 文件夹中。用户可以在配置文件 ./pholcus_pkg/config.ini 中通过修改“spiderdir”字段来修改动态规则目录,下面代码是一个下载本人github主页的动态规则示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Spider>
    <Name>henrylee2cn github profile</Name>
    <Description>(HTML动态规则示例) 文件下载测试 [https://github.com/henrylee2cn]</Description>
    <!-- Pausetime为0,表示使用操作界面设置的暂停时间 -->
    <Pausetime>0</Pausetime>
    <!-- EnableLimit为false,表示默认使用请求数作为操作界面采集上限的控制项 -->
    <EnableLimit>false</EnableLimit>
    <!-- EnableCookie为false,表示不缓存cookie,从而软件将自动更换User-Agent -->
    <EnableCookie>false</EnableCookie>
    <!-- EnableKeyin为false,表示不使用来自操作界面的自定义配置信息 -->
    <EnableKeyin>false</EnableKeyin>
    <!-- NotDefaultField为true,表示不输出文本结果的默认字段如Url、ParentUrl、DownloadTime -->
    <NotDefaultField>true</NotDefaultField>
    <!-- Namespace影响结果输出的路径或者数据库、表单名称 -->
    <Namespace>
        <Script></Script>
    </Namespace>
    <!-- SubNamespace根据结果数据调整结果输出的路径或者数据库、表单名称 -->
    <SubNamespace>
        <Script></Script>
    </SubNamespace>
    <!-- Root为采集规则执行的入口 -->
    <Root>
        <Script param="ctx">
        ctx.JsAddQueue({
            Url: "https://github.com/henrylee2cn",
            Rule: "github"
        });
        </Script>
    </Root>
    <!-- Rule为各个规则分支,可以有多个 -->
    <Rule name="github">
        <ParseFunc>
            <Script param="ctx">
            // 打印日志
            ctx.Log().Debug("henrylee2cn's github URL: %v", ctx.GetUrl());
            // ctx.FileOutput()直接输出文件,可选参数为空时根据url自动判断文件名
            ctx.FileOutput();
            </Script>
        </ParseFunc>
    </Rule>
</Spider>

这里下载Pholcus幽灵蛛爬虫源码。

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/09/02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Go语言网络爬虫工程经验分享:pholcus库演示抓取头条新闻的实例
网络爬虫是一种自动从互联网上获取数据的程序,它可以用于各种目的,如数据分析、信息检索、竞争情报等。网络爬虫的实现方式有很多,不同的编程语言和框架都有各自的优势和特点。在本文中,我将介绍一种使用Go语言和pholcus库的网络爬虫工程,以抓取头条新闻的数据为例,展示pholcus库的功能和用法。
jackcode
2023/11/23
3960
Go语言网络爬虫工程经验分享:pholcus库演示抓取头条新闻的实例
如何使用pholcus库进行多线程网页标题抓取以提高效率?
在当今信息爆炸的时代,数据抓取已成为获取信息的重要手段。Go语言因其高效的并发处理能力而成为编写爬虫的首选语言之一。pholcus库,作为一个强大的Go语言爬虫框架,提供了多线程抓取的能力,可以显著提高数据抓取的效率。本文将介绍如何使用pholcus库进行多线程网页标题抓取。
小白学大数据
2024/08/15
1510
使用Pholcus编写Go爬虫示例
想用Pholcus库来写一个Go的爬虫程序。首先,我得确认Pholcus的当前状态,因为之前听说过它可能已经不再维护了。不过用户可能还是需要基于这个库的示例,所以得先提供一个基本的框架。
华科云商小徐
2025/04/07
390
利用Pholcus框架提取小红书数据的案例分析
在当今互联网时代,数据的获取和分析变得越来越重要。爬虫技术作为一种数据采集的方法,被广泛涉及各个领域。在本文中,我们将介绍如何使用Python Spark语言和Pholcus框架来实现一本小红书数据爬虫的案例分析。
小白学大数据
2023/10/26
3710
从0开始,用Go语言搭建一个简单的后端业务系统
Hello 小伙伴们,今天给大家带来了一份Go语言搭建后端业务系统的教程,restful风格哦,既然是简单的业务系统,那么必要的功能就少不了增删改查,也就是传说中的CRUD,当然相比Spring Boot而言,Go语言写后端业务系统不是那么的流行,但是对比一下我们也很容易能发现,Go语言搭建的Web后端系统的优势:
闫同学
2023/10/11
5700
scrapy爬虫标准流程
一般我们一个小的爬虫项目,比如爬取一些文章等,直接用python的requests库,配合re模块就可以很快的完成。但是对于一些大规模的爬取,我们需要实现多线程、异步io,数据库连接等操作,自己从头写起会有些麻烦。这时可以用scrapy这个爬虫框架。
羽翰尘
2019/11/20
6490
JS动态加载以及JavaScript void(0)的爬虫解决方案
# Intro 对于使用JS动态加载, 或者将下一页地址隐藏为 JavaScriptvoid(0)的网站, 如何爬取我们要的信息呢本文以 Chrome浏览器为工具, 36Kr为示例网站, 使用 Json Handle 作为辅助信息解析工具, 演示如何抓取此类网站. # Detail Step 1. 按下 F12 或右键 检查进入开发者工具 Step 2. 选中Network一栏, 筛选 XHR请求 XHR 即 XMLHttpRequest, 可以异步或同步返回服务器响应的请求, 并且能够以文本或者一个 DO
benny
2018/07/26
2.1K0
JS动态加载以及JavaScript void(0)的爬虫解决方案
Python网络爬虫(七)- 深度爬虫CrawlSpider1.深度爬虫CrawlSpider2.链接提取:LinkExtractor3.爬取规则:rules4.如何在pycharm中直接运行爬虫5.
目录: Python网络爬虫(一)- 入门基础 Python网络爬虫(二)- urllib爬虫案例 Python网络爬虫(三)- 爬虫进阶 Python网络爬虫(四)- XPath Python网络爬虫(五)- Requests和Beautiful Soup Python网络爬虫(六)- Scrapy框架 Python网络爬虫(七)- 深度爬虫CrawlSpider Python网络爬虫(八) - 利用有道词典实现一个简单翻译程序 深度爬虫之前推荐一个简单实用的库fake-useragent,可以伪装
Python攻城狮
2018/08/23
1.9K0
Python网络爬虫(七)- 深度爬虫CrawlSpider1.深度爬虫CrawlSpider2.链接提取:LinkExtractor3.爬取规则:rules4.如何在pycharm中直接运行爬虫5.
Scrapy爬虫(8)scrapy-splash的入门
  在前面的博客中,我们已经见识到了Scrapy的强大之处。但是,Scrapy也有其不足之处,即Scrapy没有JS engine, 因此它无法爬取JavaScript生成的动态网页,只能爬取静态网页,而在现代的网络世界中,大部分网页都会采用JavaScript来丰富网页的功能。所以,这无疑Scrapy的遗憾之处。    那么,我们还能愉快地使用Scrapy来爬取动态网页吗?有没有什么补充的办法呢?答案依然是yes!答案就是,使用scrapy-splash模块!    scrapy-splash模块主要使用了Splash. 所谓的Splash, 就是一个Javascript渲染服务。它是一个实现了HTTP API的轻量级浏览器,Splash是用Python实现的,同时使用Twisted和QT。Twisted(QT)用来让服务具有异步处理能力,以发挥webkit的并发能力。Splash的特点如下:
拓荒者
2019/03/11
1.7K0
Scrapy爬虫(8)scrapy-splash的入门
爬虫系列(13)Scrapy 框架-CrawlSpider、图片管道以及下载中间件Middleware。
首先在说下Spider,它是所有爬虫的基类,而CrawSpiders就是Spider的派生类。对于设计原则是只爬取start_url列表中的网页,而从爬取的网页中获取link并继续爬取的工作CrawlSpider类更适合。
野原测试开发
2019/07/10
1.4K0
python爬虫入门(八)Scrapy框架之CrawlSpider类
CrawlSpider类 通过下面的命令可以快速创建 CrawlSpider模板 的代码: scrapy genspider -t crawl tencent tencent.com CrawSpider是Spider的派生类,Spider类的设计原则是只爬取start_url列表中的网页,而CrawlSpider类定义了一些规则(rule)来提供跟进link的方便的机制,从爬取的网页中获取link并继续爬取的工作更适合。 CrawSpider源码详细解析 class CrawlSpider(Spider)
zhang_derek
2018/04/11
2.3K0
python爬虫入门(八)Scrapy框架之CrawlSpider类
外行学 Python 爬虫 第十篇 爬虫框架Scrapy
前面几个章节利用 python 的基础库实现网络数据的获取、解构以及存储,同时也完成了简单的数据读取操作。在这个过程中使用了其他人完成的功能库来加快我们的爬虫实现过程,对于爬虫也有相应的 python 框架供我们使用「不重复造轮子是程序员的一大特点」,当我们了解爬虫的实现过程以后就可以尝试使用框架来完成自己的爬虫,加快开发速度。
keinYe
2019/08/15
1.2K0
CrawlSpider(规则爬虫)和Spider版爬虫
1.规则爬虫--scrapy genspider -t crawl Question wz.sun0769.com
用户2337871
2019/07/19
6350
爬虫框架整理汇总
整理了Node.js、PHP、Go、JAVA、Ruby、Python等语言的爬虫框架。不知道读者们都用过什么爬虫框架?爬虫框架的哪些点你觉得好?哪些点觉得不好? Node.js node-c
SeanCheney
2018/06/13
2.5K0
点进来,这里告诉你:爬虫学习之一个简单的网络爬虫
###概述 这是一个网络爬虫学习的技术分享,主要通过一些实际的案例对爬虫的原理进行分析,达到对爬虫有个基本的认识,并且能够根据自己的需要爬到想要的数据。有了数据后可以做数据分析或者通过其他方式重新结构化展示。 ###什么是网络爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。via 百度百科网络爬虫 网络蜘蛛(Web spider)也叫网络爬虫(We
小莹莹
2018/04/23
8660
点进来,这里告诉你:爬虫学习之一个简单的网络爬虫
Python爬虫项目--爬取链家热门城市
本次实战是利用爬虫爬取链家的新房(声明: 内容仅用于学习交流, 请勿用作商业用途)
py3study
2020/01/20
7810
爬虫课堂(二十五)|使用CrawlSpider、LinkExtractors、Rule进行全站爬取
在爬虫课堂(二十二)|使用LinkExtractor提取链接中讲解了LinkExtractor的使用,本章节来讲解使用CrawlSpider+LinkExtractor+Rule进行全站爬取。 一、CrawlSpider介绍 Scrapy框架中分两类爬虫,Spider类和CrawlSpider类。Spider类的使用已经讲解了很多,但是如果想爬取某个网站的全站信息的话,CrawlSpider类是个非常不错的选择。CrawlSpider继承于Spider类,CrawlSpider是爬取那些具有一定规则网站
黄小怪
2018/05/21
1.4K0
数据可视化(五)基于网络爬虫制作可视化图表
我们身处大数据时代,几乎在所有工作例如商业技术、金融、科研教育等行业,以及日常生活中都可能需要涉及数据分析活动。横向来看数据分析的知识体系贯穿数据获取、数据存储、数据分析、数据挖掘、数据可视化等各大部分;按数据来源分,即可以是自己收集的数据,也可以采购数据或者基于公开数据集。
RiboseYim
2018/01/11
3.2K0
数据可视化(五)基于网络爬虫制作可视化图表
ajax方式下载文件
在web项目中需要下载文件,由于传递的参数比较多(通过参数在服务器端动态下载指定文件),所以希望使用post方式传递参数。 通常,在web前端需要下载文件,都是通过指定<a>标签的href属性,访问服务器端url即可下载并保存文件到本地。 但是这种方式使用的是HTTP GET方法,参数只能通过URL参数方式传递,无法使用POST方式传递参数。 于是,想到使用ajax方式下载文件。
编程随笔
2019/09/11
3.4K0
ajax方式下载文件
Python分布式爬虫详解(三)
上一章中,利用scrapy-redis做了一个简单的分布式爬虫,虽然很一般(只有30个请求)但是基本能说清楚原理,本章中,将对该项目进行升级,使其成为一个完整的分布式爬虫项目。
Python中文社区
2018/10/25
8020
Python分布式爬虫详解(三)
推荐阅读
相关推荐
Go语言网络爬虫工程经验分享:pholcus库演示抓取头条新闻的实例
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验