php 爬虫抓取网页数据(我用爬虫一天时间“偷了”知乎一百万用户 )

优采云 发布时间: 2022-02-13 14:20

  php 爬虫抓取网页数据(我用爬虫一天时间“偷了”知乎一百万用户

)

  前几天,老板让我去抓拍大众点评某店的数据。当然,我公正地拒绝了它,因为我不会。. . 但是我的抗拒也没用,所以还是去查资料,因为我是做php的,第一时间找的就是php的网络爬虫源码。经过我不懈的努力,终于找到了phpspider,打开phpspider开发文档我惊呆在首页,标题“我用爬虫“偷”了知乎一天百万用户,只为证明PHP是世界上最好的语言”,正如我所料,PHP 是世界上最好的语言。事不宜迟,让我们开始学习如何使用它。

  首先要看的是提供的一个demo,代码如下:

  $configs = array(

'name' => '糗事百科',

'domains' => array(

'qiushibaike.com',

'www.qiushibaike.com'

),

'scan_urls' => array(

'http://www.qiushibaike.com/'

),

'content_url_regexes' => array(

"http://www.qiushibaike.com/article/\d+"

),

'list_url_regexes' => array(

"http://www.qiushibaike.com/8hr/page/\d+\?s=\d+"

),

'fields' => array(

array(

// 抽取内容页的文章内容

'name' => "article_content",

'selector' => "//*[@id='single-next-link']",

'required' => true

),

array(

// 抽取内容页的文章作者

'name' => "article_author",

'selector' => "//div[contains(@class,'author')]//h2",

'required' => true

),

),

);

$spider = new phpspider($configs);

$spider->start();

  每个具体的信息大家可以去查一下,哪里比较详细,这里只是我走的弯路,

  domains是定义采集的域名,只在该域名下采集,

  content_url_regexes是采集的内容页,使用chrome查看网页源码,然后使用selector选择器定位,selector使用xpath格式定位参数,当然也可以用css来选择。

  list_url_regexes列表页,每个列表页抓取多条content_url_regexes的url循环采集。

还有一些其他参数没有列出来,例如:

   'max_try' => 5,

'export' => array(

'type' => 'db',

'conf' => array(

'host' => 'localhost',

'port' => 3306,

'user' => 'root',

'pass' => 'root',

'name' => 'demo',

),

'table' => '360ky',

),

  max_try 同时工作的爬虫任务数。

  export采集数据存储,有两种格式,一种是写到数据库中,一种是直接生成.csv格式文件。

只要url规则写的对,就可以运行,不用管框架里面的封装。当然,此框架只能在php-cli命令行下运行,所以使用前要先配置环境变量,或者cd到php安装路径运行。

最后成功采集到大众点评某点的一千多条数据。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线