PHP爬虫抓取网页内容 (simple_html_dom.php)

  使用simple_html_dom.php,下载|文档

  因为抓取的只是一个网页,所以比较简单,整个网站的下次再研究,可能用Python来做爬虫会好些。

 1 <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
 2 <?php
 3 include_once ‘simplehtmldom/simple_html_dom.php‘;
 4 //获取html数据转化为对象
 5 $html = file_get_html(‘http://paopaotv.com/tv-type-id-5-pg-1.html‘);
 6 //A-Z的字母列表每条数据是在id=letter-focus 的div内class= letter-focus-item的dl标签内,用find方法查找即为
 7
 8     foreach($html->find(‘.txt-list li a‘) as $element)
 9     $arr[]= $element->innertext . ‘<br>‘;
10
11     $fileName=‘data.txt‘;//不用事先建好
12     $arrLen=count($arr);
13     for($i=0;$i<$arrLen;$i++){
14     file_put_contents($fileName,$arr[$i],FILE_APPEND|LOCK_EX);
15     /*FILE_APPEND|LOCK_EX是往后追加数据,如果没有该参数,则只能插入一条数据
16         但是如果重新启动抓取时,则会将以往抓取过的数据继续存入*/
17     }
18     //以上是抓取的数据然后存到data.text里
19     $content=file_get_contents($fileName);
20     $cont=explode("<br>",$content);
21     $contLen=count($cont);
22     for($i=0;$i<$contLen;$i++) {
23         unset($cont[2*$i+1]);
24     }

先在 http://www.paopaotv.com/tv-type-id-5-pg-1.html 中找到节点,

1 foreach($html->find(‘.txt-list li a‘) as $element)
2 $arr[]= $element->innertext . ‘<br>‘;

获得节点内的数据

获得的数据:

可以看到,每个获取的数据后面都有个<br>***<br>,这时因为 .txt-list li 下面有两个a,所以会得到两个数据

1 $content=file_get_contents($fileName);
2     $cont=explode("<br>",$content);
3     $contLen=count($cont);
4     for($i=0;$i<$contLen;$i++) {
5         unset($cont[2*$i+1]);
6     }

获取data.text中的数据,通过 explode("<br>",$content) 将<br>前后的数据分成两部分,将$cont用print_r()函数打印出来后,得到

可以看出,所有不需要的数据都是奇数项,所以用 unset($cont[2*$i+1]); 函数删掉,显示的时候是:

但是如何将现在的数组的key重新排序,这个我还没不知道怎么弄,试过array_splice,该函数也不能设定只支持删除奇数的内容。

时间: 2024-10-05 01:59:45

PHP爬虫抓取网页内容 (simple_html_dom.php)的相关文章

JAVA使用Gecco爬虫 抓取网页内容

JAVA 爬虫工具有挺多的,但是Gecco是一个挺轻量方便的工具. 先上项目结构图. 这是一个 JAVASE的 MAVEN 项目,要添加包依赖,其他就四个文件.log4j.properties 加上三个java类. 1.先配置log4j.properties log4j.rootLogger = error,stdout,D,E log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Targe

php爬虫抓取信息及反爬虫相关

58爬虫了百姓,赶集和58互爬,最后各种信息相同,都是爬虫后的数据库调用,潜规则啊,几家独大还暗中各种攻击,赶驴网的幽默事例我不想多评价.这个时代是砸.钱*养.钱的时代,各种姚晨杨幂葛优,各种地铁公车广告,各种卫视广告,铺天盖地~~~ 来谈php爬虫抓取信息~~ php爬虫首推Curl函数了,先来认识下它. 0x01.curl扩展的安装: 1.确保php子文件夹ext里面有php_curl.dll(一般都有的,一般配置时候会设置环境变量的) 2.将php.ini里面的;extension=php

Python爬虫--抓取糗事百科段子

今天使用python爬虫实现了自动抓取糗事百科的段子,因为糗事百科不需要登录,抓取比较简单.程序每按一次回车输出一条段子,代码参考了 http://cuiqingcai.com/990.html 但该博主的代码似乎有些问题,我自己做了修改,运行成功,下面是代码内容: 1 # -*- coding:utf-8 -*- 2 __author__ = 'Jz' 3 import urllib2 4 import re 5 6 #糗事百科爬虫类 7 class QSBK: 8 #初始化 9 def __

shell命令curl抓取网页内容-下载xls文件

通过curl命令抓取网页内容,关键点如下: 1.curl要模拟浏览器,最好是有个代理,因为很多站点都会搞个反爬虫什么的. 2.我的需求很简单,就是在国家外汇管理局上下载各种货币对美元的汇率. http://www.safe.gov.cn/wps/portal/sy/tjsj_dmzsl 3.主要命令:curl,grep,awk,xls2txt,msql(LOAD DATA ). curl:提取url xls2txt:shell下的xls操作命令 xls2txt-0.14.tar.gz 下载地址:

Python爬虫抓取技术的门道

web是一个开放的平台,这也奠定了web从90年代初诞生直至今日将近30年来蓬勃的发展.然而,正所谓成也萧何败也萧何,开放的特性.搜索引擎以及简单易学的html.css技术使得web成为了互联网领域里最为流行和成熟的信息传播媒介:但如今作为商业化软件,web这个平台上的内容信息的版权却毫无保证,因为相比软件客户端而言,你的网页中的内容可以被很低成本.很低的技术门槛实现出的一些抓取程序获取到,这也就是这一系列文章将要探讨的话题-- 网络爬虫 . 有很多人认为web应当始终遵循开放的精神,呈现在页面

python 爬虫抓取心得

quanwei9958 转自 python 爬虫抓取心得分享 urllib.quote('要编码的字符串') 如果你要在url请求里面放入中文,对相应的中文进行编码的话,可以用: urllib.quote('要编码的字符串') query = urllib.quote(singername) url = 'http://music.baidu.com/search?key='+query response = urllib.urlopen(url) text = response.read()

爬虫技术(四)-- 简单爬虫抓取示例(附c#代码)

这是我的第一个爬虫代码...算是一份测试版的代码.大牛大神别喷... 通过给定一个初始的地址startPiont然后对网页进行捕捉,然后通过正则表达式对网址进行匹配. List<string> todo :进行抓取的网址的集合 List<string> visited :已经访问过的网址的集合 下面实现的是,给定一个初始地址,然后进行爬虫,输出正在访问的网址和已经访问的网页的个数. 需要注意的是,下面代码实现的链接匹配页面的内容如图一.图二所示: 图一: 图二: 简单代码示范如下:

phpjquery抓取网页内容

phpquery抓取网页内容,以下都经过测试,不过phpquery你最好用我上传的,别的不保证,其实我也是下载的. include 'phpQuery/phpQuery.php'; /** phpQuery::newDocumentFile("http://www.helloweba.com/blog.html"); $artlist = pq(".blog_li"); foreach($artlist as $li){ echo pq($li)->find(

抓取网页内容并截图

需要调用windows.Forms命名空间,使用一个类库WebPreview1.1.rar_by_Kai.Ma,此处仅记录之. 给一个下载链接WebPreview1.1.rar_by_Kai.Ma.rar 抓取网页内容并截图,布布扣,bubuko.com