php简单实现spider 抓URL

0x01

spider抓取URL 采用的是file_get_contents()/fopen()函数,利用正则匹配的方式(貌似最简单方式了,记录下后续添加)

0x02

usage:php spider.php www.baidu.com 结果保存在www.baidu.com文件中

Code:

-----------------

<?php
//2015-4-16 @developd
//获取网页中的URL 保存URL.txt中
//用法 php spider.php url
if($argc !== 2){
   echo "No Target...\r\n";
   echo "Usage:php spider.php url \r\n";
   echo "eg:php spider.php www.baidu.com \r\n";
   exit();
}else{
    $url = $argv[‘1‘];
}
if(empty($url)){
    echo "URL Error \r\n";
    exit();
}
$filename ="$url";
$url = "http://".$url;
if(!file_exists($filename)){
        $file=fopen($filename,"a+");
        fclose($file);
}
$site=substr($url,0,strpos($url,‘/‘,8));
$base=substr($url,0,strpos($url,‘/‘)+1);
$fp=fopen($url,‘r‘);
while(!feof($fp)){
        $contents.= fread($fp,1024);
        //var_dump($content);
}
$pattern = "|href=[‘\"]?([^‘\"]+)[‘\"]|U";
preg_match_all($pattern,$contents,$regArr,PREG_SET_ORDER);

for($i=0;$i<count($regArr);$i++){
    if(substr($regArr[$i][1],0,1)=="/")
            $data ="URL".($i+1).":".$site.$regArr[$i][1].PHP_EOL;
    else
            $data = "URL".($i+1).":".$regArr[$i][1].PHP_EOL;
    $res = file_put_contents($filename,$data,FILE_APPEND);
}
if(empty($res)){
    echo "No URLS...\r\n";
}else{
    echo "Get URLS success...\r\n";
}
fclose($fp);
?>

-----------------

时间: 2024-07-30 19:59:35

php简单实现spider 抓URL的相关文章

还没被玩坏的robobrowser(3)——简单的spider

背景 做一个简单的spider用来获取python selenium实战教程的一些基本信息.因为python selenium每年滚动开课,所以做这样一个爬虫随时更新最新的开课信息是很有必要的. 预备知识 python语法,不会python的同学建议通过这个视频学习: 安装好robobrowser,没有安装的同学参考这里: 任务分解 这个简单的spider任务可以进行进一步的分解: 访问python selenium自动化测试班页面: 获取这个班的名称--python selenium自动化测试

简单的图片抓取demo

原文:简单的图片抓取demo 源代码下载地址:http://www.zuidaima.com/share/1568741405854720.htm 昨天看到同学在一张张右键图片,感觉好麻烦,今天上午就查了一下资料,弄了个图片抓取器. 用到jsoup和 io包,我放在压缩文件里了. 新手刚刚弄,可能会有考虑不好的地方,欢迎大家多多指教. 主要代码: 01 //遍历保存 02 Iterator<String> i = imgSrcSet.iterator(); 03             whi

Scrapinghub执行spider抓取并显示图片

序 最近在学习Scrapy的时候发现一个很有意思的网站,可以托管Spider,也可以设置定时抓取的任务,相当方便.于是研究了一下,把其中比较有意思的功能分享一下: 抓取图片并显示在item里: 下面来正式进入本文的主题,抓取链家成交房产的信息并显示房子图片: 1. 创建一个scrapy project: scrapy startproject lianjia_shub 这时会在当前文件夹下创建如下文件夹: │  scrapy.cfg │ └─lianjia_shub     │  items.p

[Java]使用HttpClient实现一个简单爬虫,抓取煎蛋妹子图

  第一篇文章,就从一个简单爬虫开始吧. 这只虫子的功能很简单,抓取到”煎蛋网xxoo”网页(http://jandan.net/ooxx/page-1537),解析出其中的妹子图,保存至本地. 先放结果: 从程序来讲,步骤分为三步: 1.发起一个http请求,获取返回的response内容: 2.解析内容,分离出有效图片的url: 3.根据这些图片的url,生成图片保存至本地. 开始详细说明: 准备工作:HttpClient的Jar包,访问http://hc.apache.org/   自行下

记录一个简单的HttpClient抓取页面内容

现如今的网络时代,HTTP协议如此重要,随着java的发展,也越来越多的人采用java直接通过HTTP协议访问网络资源,虽然java.net提供了基本的访问HTTP协议的基本功能,但是对于大部分应用程序来说,仍旧还有许多功能不能够灵活使用:HttpClient是Apache Jakarta Common 下的子项目,一个提供访问HTTP协议的java工具包,提供了更多.更快捷.丰富的方法,HttpClient主要常用的功能有:实现了所有 HTTP 的方法(GET,POST,PUT,HEAD,DE

python-requests 简单实现数据抓取

安装包: requests,lxmlrequest包用于进行数据抓取,lxml用来进行数据解析对于对网页内容的处理,由于html本身并非如数据库一样为结构化的查询所见即所得,所以需要对网页的内容进行分析然后进行内容提取,lxml就是用来完成此项工作在requests中最用的方法为get()方法,通常情况下可以将url做为参数传入进去,对于一些功能比较完善的网站如果存在反爬取数据的功能是则需要设置headers参数内容,内容为一字典类型可以在浏览器中查看User-Agent字段的内容,设置后req

使用Python编写简单网络爬虫抓取视频下载资源

我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎.所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚本语言,没有之中的一个. Python的语言简洁灵活,标准库功能强大.寻常能够用作计算器,文本编码转换,图片处理,批量下载,批量处理文本等.总之我非常喜欢,也越用越上手,这么好用的一个工具,一般人我不告诉他.. .很多其它网络编程教程请上网维教程网 由于其强大的字符串处理能力,以及urllib2,c

[Python学习] 简单网络爬虫抓取博客文章及思想介绍

        前面一直强调Python运用到网络爬虫方面非常有效,这篇文章也是结合学习的Python视频知识及我研究生数据挖掘方向的知识.从而简单介绍下Python是如何爬去网络数据的,文章知识非常简单,但是也分享给大家,就当简单入门吧!同时只分享知识,希望大家不要去做破坏网络的知识或侵犯别人的原创型文章.主要包括: 1.介绍爬取CSDN自己博客文章的简单思想及过程 2.实现Python源码爬取新浪韩寒博客的316篇文章 一.爬虫的简单思想      最近看刘兵的<Web数据挖掘>知道,在研

Protobuf简单使用及其抓包分析

早之前就用过Google的Protobuf做数据编码,一直没有深入理解其中的原理,最近做了一次通讯抓包,发现其中很多Protobuf编码的数据包,于是决定分析一下其中的数据包及其编码. 一.Protobuf的使用 首先来简单介绍一下Protobuf的使用,这里以windows下java开发为例,几个步骤:编写*.proto ->使用google提供的protoc.exe生成*.java->项目中导入protobuf的.jar包进行开发即可.先看这里的*.proto文件: package com