php 网站爬虫入门 - Goutte

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

内容简介: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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

从问题到程序

从问题到程序

裘宗燕 / 机械工业出版社 / 2011-5 / 39.00元

《从问题到程序:程序设计与C语言引论(第2版)》以C作为工具语言,讨论了基本程序设计的各方面内容,详细解释了与c语言和程序设计有关的问题。在新版中,特别加强了针对近年日益受到业界和学术界广泛重视的问题的讨论,并通过详细地分析和讨论大量符合C99标准的实例,给出了分析和分解问题、找出解决问题的主要步骤、确定函数抽象、找出循环、选择语言结构直至最后做出所需程序的完整过程。 《从问题到程序:程序设......一起来看看 《从问题到程序》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

SHA 加密
SHA 加密

SHA 加密工具