内容简介: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 爬虫入门教程,简单易懂
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Parsing Techniques
Dick Grune、Ceriel J.H. Jacobs / Springer / 2010-2-12 / USD 109.00
This second edition of Grune and Jacobs' brilliant work presents new developments and discoveries that have been made in the field. Parsing, also referred to as syntax analysis, has been and continues......一起来看看 《Parsing Techniques》 这本书的介绍吧!