文档章节

爬虫相关

waveer
 waveer
发布于 2017/03/01 14:17
字数 688
阅读 16
收藏 0
点赞 0
评论 0

比较方便的php采集框架:QueryList,基于phpQuery

最开始发现的phpspider,但使用下来,还是queryList好用一些。

知乎的一个答案

作者:梁川
链接:https://www.zhihu.com/question/23643061/answer/26322652
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

1、如果是定向爬取几个页面,做一些简单的页面解析,爬取效率不是核心要求,那么用什么语言差异不大。
当然要是页面结构复杂,正则表达式写得巨复杂,尤其是用过那些支持xpath的类库/爬虫库后,就会发现此种方式虽然入门门槛低,但扩展性、可维护性等都奇差。因此此种情况下还是推荐采用一些现成的爬虫库,诸如xpath、多线程支持还是必须考虑的因素。

2、如果是定向爬取,且主要目标是解析js动态生成的内容
此时候,页面内容是有js/ajax动态生成的,用普通的请求页面->解析的方法就不管用了,需要借助一个类似firefox、chrome浏览器的js引擎来对页面的js代码做动态解析。
此种情况下,推荐考虑casperJS+phantomjs或slimerJS+phantomjs ,当然诸如selenium之类的也可以考虑。

3、如果爬虫是涉及大规模网站爬取,效率、扩展性、可维护性等是必须考虑的因素时候
大规模爬虫爬取涉及诸多问题:多线程并发、I/O机制、分布式爬取、消息通讯、判重机制、任务调度等等,此时候语言和所用框架的选取就具有极大意义了。
PHP对多线程、异步支持较差,不建议采用。
NodeJS:对一些垂直网站爬取倒可以,但由于分布式爬取、消息通讯等支持较弱,根据自己情况判断。
Python:强烈建议,对以上问题都有较好支持。尤其是Scrapy框架值得作为第一选择。优点诸多:支持xpath;基于twisted,性能不错;有较好的调试工具;
此种情况下,如果还需要做js动态内容的解析,casperjs就不适合了,只有基于诸如chrome V8引擎之类自己做js引擎。
至于C、C++虽然性能不错,但不推荐,尤其是考虑到成本等诸多因素;对于大部分公司还是建议基于一些开源的框架来做,不要自己发明轮子,做一个简单的爬虫容易,但要做一个完备的爬虫挺难的。

Python爬虫利器五之Selenium的用法

 

© 著作权归作者所有

共有 人打赏支持
waveer
粉丝 0
博文 42
码字总数 3695
作品 0
深圳
程序员
Python数据分析学习路径图(120天Get新技能)

Python是一种面向对象、直译式计算机程序设计语言,由Guido van Rossum于1989年底发明。由于他简单、易学、免费开源、可移植性、可扩展性等特点,Python又被称之为胶水语言。下图为主要程序语...

数据007 ⋅ 2016/01/22 ⋅ 0

Memcache-LRU爬虫线程-源码分析

memcached-version-1.4.25 介绍 memcache 中实现了内存管理模型用来存储数据,而在此基础上又实现了一套LRU爬虫模型来维护这些已使用的内存,因为如果一直使用这些内存而不去维护会占用大量的...

简单方式 ⋅ 2017/02/04 ⋅ 0

爬虫的种类

通用爬虫:搜索引擎用的爬虫系统 目标:尽可能的互联网上所有的网页下载下来,放到本地形成备份, 再对这些网页进行相关处理(提取关键字,去除广告),最后提供一个 用户可用的接口。 抓取流程...

大陌 ⋅ 2017/11/02 ⋅ 0

使用scrapy的定制爬虫-第一章-前言

这个系列文章还在逐步完成中,可能会多次编辑 这是一个系列文章,关于定制爬虫,使用scrapy. 这是前言. 爬虫,最广为所知用途是搜索引擎的网页抓取.也有很多其他的用途. 诸如各类比价网站(etao,惠...

斑ban ⋅ 2013/04/02 ⋅ 1

高手问答第 202 期 —— 想要玩转 Python?不妨从 Python 网络爬虫开始

OSCHINA 本期高手问答(2018 年 6 月 20 日 — 6 月 26 日)我们邀请到了黄永祥@XyHJw 和大家一起讨论关于 Python 爬虫的问题。 黄永祥,信息管理与信息系统专业学士,曾从事过系统开发和自动化...

局长 ⋅ 06/19 ⋅ 0

爬虫篇-初识爬虫之urllib操作

一 : 爬虫简介 网络爬虫(又被称为网页[蜘蛛],网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字...

TianTianBaby223 ⋅ 04/10 ⋅ 0

基于PyHusky的分布式爬虫原理及实现

原理 爬虫是我们获取互联网数据的一个非常有效的方法,而分布式爬虫则是利用许多台机器协调工作来加快抓取数据效率的不二途径。分布式爬虫是由访问某些原始网址开始,在获取这些网址的内容后...

happengft ⋅ 2017/04/06 ⋅ 0

Python爬虫 监控进程

一:前言 python 语言具有良好的垃圾回收功能,但是实际运用爬虫的时候还是会出现内存逐渐增大的现象,包括数据库服务占用的内存也会不断增加。这样服务器或者电脑就会收到一定的影响。这次的...

布咯咯_rieuse ⋅ 2017/11/25 ⋅ 0

Python爬虫(1.爬虫的基本概念)

爬虫的基本概念 1. 网络爬虫的组成 网络爬虫由控制结点、爬虫结点、资源库构成,如图1 所示: 图1 网络爬虫的控制节点和爬虫节点结构的关系 可以看到,网络爬虫中可以有多个控制节点,每个控...

lhs322 ⋅ 04/20 ⋅ 0

网络爬虫,如何做到 “盗亦有道” ?

网络爬虫的实质,其实是从网络上“偷”数据。通过网络爬虫,我们可以采集到所需要的资源,但是同样,使用不当也可能会引发一些比较严重的问题。 因此,在使用网络爬虫时,我们需要做到“盗亦...

bestdwd ⋅ 2017/06/09 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Linux中的端口大全

1 被LANA定义的端口 端口 名称 描述 1 tcpmux TCP 端口服务多路复用 5 rje 远程作业入口 7 echo Echo 服务 9 discard 用于连接测试的空服务 11 systat 用于列举连接了的端口的系统状态 13 d...

寰宇01 ⋅ 3分钟前 ⋅ 0

Confluence 6 如何备份存储文件和页面信息

备份的 ZIP 文件包含有 entities.xml,这个 XML 文件包含有 Confluence 的所有页面内容和存储附件的目录。 备份 Zip 文件结构 页面的附件是存储在附件存储目录中的,通过页面和附件 ID 进行识...

honeymose ⋅ 6分钟前 ⋅ 0

【每天一个JQuery特效】根据状态确定是否滑入或滑出被选元素

主要效果: 本文主要采用slideToggle()方法实现以一行代码同时实现以展开或收缩的方式显示或隐藏被选元素。 主要代码如下: <!DOCTYPE html><html><head><meta charset="UTF-8">...

Rhymo-Wu ⋅ 10分钟前 ⋅ 0

度量.net framework 迁移到.net core的工作量

把现有的.net framework程序迁移到.net core上,是一个非常复杂的工作,特别是一些API在两个平台上还不能同时支持。两个类库的差异性,通过人工很难识别全。好在微软的工程师们考虑到了我们顾...

李朝强 ⋅ 15分钟前 ⋅ 0

请不要在“微服务”的狂热中迷失自我!

微服务在过去几年一直是一个非常热门的话题(附录1)。何为“微服务的疯狂”,举个例子: 众所周知,Netflix在DevOps上的表现非常棒。Netfix可以做微服务。因此:如果我做微服务,我也将非常...

harries ⋅ 16分钟前 ⋅ 0

oAuth2 升级Spring Cloud Finchley.RELEASE踩坑分享

背景 6.19号,spring团队发布了期待已久的 Spring Cloud Finchley.RELEASE 版本。 重要变化: 基于Spring Boot 2.0.X 不兼容 Spring Boot 1.5.X 期间踩过几个坑,分享出来给大伙,主要是关于...

冷冷gg ⋅ 46分钟前 ⋅ 0

OSChina 周一乱弹 —— 理发师小姐姐的魔法

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @冰冰棒- :分享田馥甄的单曲《My Love》 《My Love》- 田馥甄 手机党少年们想听歌,请使劲儿戳(这里) @Li-Wang :哎,头发又长了。。。又要...

小小编辑 ⋅ 今天 ⋅ 4

Kafka1.0.X_消费者API详解2

偏移量由消费者管理 kafka Consumer Api还提供了自己存储offset的功能,将offset和data做到原子性,可以让消费具有Exactly Once 的语义,比kafka默认的At-least Once更强大 消费者从指定分区...

特拉仔 ⋅ 今天 ⋅ 0

NEO智能合约之发布和升级(二)

接NEO智能合约之发布和升级(一),我们接下来说说智能合约的升级功能。 一 准备工作 合约的升级需要在合约内预先设置好升级接口,以方便在升级时调用。接下来我们对NEO智能合约之发布和升级...

红烧飞鱼 ⋅ 今天 ⋅ 0

个人博客的运营模式能否学习TMALL天猫质量为上?

心情随笔|个人博客的运营模式能否学习TMALL天猫质量为上? 中国的互联网已经发展了很多年了,记得在十年前,个人博客十分流行,大量的人都在写博客,而且质量还不错,很多高质量的文章都是在...

原创小博客 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部