php 网站爬虫入门 - Goutte

栏目: Python · 发布时间: 8年前

内容简介:php 网站爬虫入门 - Goutte

不使用 python scrapy 的原因

虽然我用 python 写爬虫已有多年,但是我越来越想尝试一下用 PHP 来写个爬虫

  • 厌恶了 python 的包管理
  • scrapy 对于小爬虫来说太繁琐了
  • python 的 ORM 相对 PHP laravel 的 eloquent 都像是半成品

当然 scrapy 也有不可替代的功能

  • 调试 console,这个无人可替代。chrome console XPath?

PHP 的爬虫库

https://github.com/BruceDone/awesome-crawler

Goutte 看上去不错,但是活跃度太低,一年也没几次提交。

不过,他的主要功能是基于 BrowserKit 和 DomCrawler 这两个库实现的。这两个库还算活跃。

Goutte 的娱乐小八卦

  • goutte - 痛风
  • guzzle - 狂饮 (guzzle 是 PHP 的一个 HTTP 库)

狂饮导致痛风。。。醉了。goutte 这个名字起得真是太潇洒了。。。

使用 Goutte 爬取大象笔记的标题

composer require fabpot/goutte

安装好 goutte 之后,编写逻辑代码

<?php

require __DIR__ . '/vendor/autoload.php';

use Goutte\Client;

$client = new Client();
$crawler = $client->request('GET', 'https://www.sunzhongwei.com');
$crawler->filter('h1')->each(function ($node) {
        print $node->text()."\n";
});

运行结果

% php go.php
大象笔记

Goutte 默认的请求头

"GET / HTTP/1.1" 200 34881 "-" "Symfony BrowserKit"

更复杂一点的爬虫

例如,爬取搜索引擎的搜索结果。

真实感受是,PHP 做起来太痛苦了。举个例子

  • 当对象属性未知时,远不如 python 的 dir 好用
  • 爬取结果去重,python set 一行搞定,这 php ...

试了一把,我还是决定使用 python requests + beautifulsoup。


以上所述就是小编给大家介绍的《php 网站爬虫入门 - Goutte》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

艾伦•图灵传

艾伦•图灵传

(英)安德鲁·霍奇斯 / 孙天齐 / 湖南科学技术出版社 / 2012-8-1 / 68.00元

《艾伦·图灵传:如谜的解谜者》是图灵诞辰100周年纪念版,印制工艺更为精美。本书是世界共认的最权威的图灵传记。艾伦?图灵是现代人工智能的鼻祖,在24岁时奠定了计算机的理论基础。二战期间,他为盟军破译密码,为结束战争做出巨大贡献。战后,他开创性地提出人工智能的概念,并做了大量的前期工作。因同性恋问题事发,被迫注射激素,后来吃毒苹果而死。作者是一名数学家,也是一名同性恋者。他对图灵的生平有切身的体会,......一起来看看 《艾伦•图灵传》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具