内容简介: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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 爬虫入门到精通-网页的下载
- Python爬虫天气预报(小白入门)
- Python爬虫天气预报(小白入门)
- 爬虫入门之scrapy模拟登陆(十四)
- 简洁全面的Scrapy爬虫技术入门
- Node 爬虫入门教程,简单易懂
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。