package com.forex.collect;import java.io.IOException;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Random;import javax.mail.MessagingException;import org.jsoup.Connection.Method;import org.jsoup.Connection.Response;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;public class HexunColle...
UI_Less.pas: 1unit UI_Less;2 3interface 4 5uses 6 Windows, Classes, Messages, Forms, MsHtml, Urlmon, ActiveX;7 8const 9 WM_USER_STARTWALKING = WM_USER + 1;10 DISPID_AMBIENT_DLCONTROL = (-5512);11 READYSTATE_COMPLETE = $00000004;12 13 DLCTL_DLIMAGES = $00000010;14 DLCTL_VIDEOS = $00000020;15 DLCTL_BGSOUNDS = $00000040;16 DLCTL_NO_SCRIPTS = $00000080;17 DLCTL_NO_JAVA = $0000...
一 本系列随笔概览及产生的背景本系列开篇受到大家的热烈欢迎,这对博主是莫大的鼓励,此为本系列第四篇,希望大家继续支持,为我继续写作提供动力。自己开发的豆约翰博客备份专家软件工具问世3年多以来,深受广大博客写作和阅读爱好者的喜爱。同时也不乏一些技术爱好者咨询我,这个软件里面各种实用的功能是如何实现的。该软件使用.NET技术开发,为回馈社区,现将该软件中用到的核心技术,开辟一个专栏,写一个系列文章,以飨广大...
代码如下:
$html = TestabcdefghijklmnopqrstuvwxyzEOF;
// create document object model
$dom = new DOMDocument();
// load html into document object model
@$dom->loadHTML($html);
// create domxpath instance
$xPath = new DOMXPath($dom);
// get all elements with a particular id and then loop through and print the href attribute
$elements = $xPath->query('//*[@id="content"]/p/span');
$content = $element...
代码如下://包含PHP Simple html Dom 类库文件 include_once('./simplehtmldom/simple_html_dom.php'); //采集html function getwebcontent($url){ $ch = curl_init(); $timeout = 10; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); $contents = trim(curl_exec($ch)); curl_close($ch...
将HTML表格的每行每列转为数组,采集表格数据 //将HTML表格的每行每列转为数组,采集表格数据 function get_td_array($table) { $table = preg_replace("']*?>si","",$table);//OSPHP.COm.CN$table = preg_replace("<tr[^>]*?>si","",$table); $table = preg_replace("<td[^>]*?>si","",$table); $table = str_replace("","{tr}",$table); //开源代码OSPhP.COm.CN $table = str_replace("","{td}",$table); //去掉 HTML 标记 ...
$xp = new xf_HtmlDom(); $xp->loadHtml(http://dealer.bitauto.com/100040078/cars.html); $rows = $xp->find(dl/dd/a, 0)->innertext; print_r($rows); <?php$oldSetting = libxml_use_internal_errors( true ); libxml_clear_errors();/** * * -+----------------------------------- * |PHP5 Framework - 2011 * |Web Site: www.iblue.cc * |E-mail: mejinke@gmail.com * |Date: 2012-10-12 * -+----------------------------...
代码如下: $oldSetting = libxml_use_internal_errors( true ); libxml_clear_errors(); /** * * -+----------------------------------- * |PHP5 Framework - 2011 * |Web Site: www.iblue.cc * |E-mail: mejinke@gmail.com * |Date: 2012-10-12 * -+----------------------------------- * * @desc HTML解析器 * @author jingke */ class XF_HtmlDom { private $_xpath = null; private $_no...
代码如下://包含PHP Simple html Dom 类库文件 include_once('./simplehtmldom/simple_html_dom.php'); //采集html function getwebcontent($url){ $ch = curl_init(); $timeout = 10; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); $contents = trim(curl_exec($ch)); curl_close($ch...
代码如下://全国,判断条件是$REQUEST_URI是否含有html if (!strpos($_SERVER["REQUEST_URI"],".html")) { $page="http://qq.ip138.com/weather/"; $html = file_get_contents($page,'r'); $pattern="/全国主要城市、县当天和未来五天天气趋势预报在线查询(.*?)/si"; //正则匹配之间的html preg_match($pattern,$html,$pg); echo ""; //正则替换远程地址为本地地址 $p=preg_replace('/\/weather\/(\w+)\/index.htm/', 'tq.php/$1.h...
这是一个系列 没办法在一两天写完 所以一篇一篇的发布
大致大纲:
1.curl数据采集系列之单页面采集函数get_html
2.curl数据采集系列之多页面并行采集函数get_htmls
3.curl数据采集系列之正则处理函数get _matches
4.curl数据采集系列之代码分离
5.curl数据采集系列之并行逻辑控制函数web_spider
单页面采集在数据采集过程中是最常用的一个功能 有时在服务器访问限制的情况下 只能使用这种采集方式 慢 但是可以简单的控制 所以写好一...
用第一篇的get_html()实现简单的数据采集,由于是一个一个执行才采集数据的传输时间就会是所有页面下载的总时长,一个页面假设1秒,那么10个页面就是10秒了。所幸curl还提供了并行处理的功能。
要写一个并行采集的函数,先要了解要采集什么样的页面,对采集的页面用什么请求,才能写出一个相对常用的函数。
功能需求分析:
返回什么?
当然每一个页面的html集合成的数组
传递什么参数?
编写get_html()时,我们知道了可以用opti...
php将HTML表格每行每列转为数组实现采集表格数据的方法 本文实例讲述了php将HTML表格每行每列转为数组实现采集表格数据的方法。分享给大家供大家参考。具体如下:
下面的php代码可以将HTML表格的每行每列转为数组,采集表格数据]*?>si","",$table);$table = preg_replace("<tr[^>]*?>si","",$table);$table = preg_replace("<td[^>]*?>si","",$table);$table = str_replace("","{tr}",$table);$table = str_replace("","{td}",$tab...
一、phpQuery简介在PHP服务端处理采集来的数据或者处理html文档的时候我们一般都是使用正则表达式来获取我们想要的部分。 对于html页面,不应该使用正则的原因主要有3个1、编写条件表达式比较麻烦尤其对于新手,看到一堆”不知所云”的字符评凑在一起,有种脑袋都要炸了的感觉。如果要分离的对象没有太明显的特征,正则写起来更是麻烦。2、效率不高对于php来说,正则应该是没有办法的办法,能通过字符串函数解决的,就不要劳烦正则...
代码如下://全国,判断条件是$REQUEST_URI是否含有html if (!strpos($_SERVER["REQUEST_URI"],".html")) { $page="http://qq.ip138.com/weather/"; $html = file_get_contents($page,'r'); $pattern="/全国主要城市、县当天和未来五天天气趋势预报在线查询(.*?)/si"; //正则匹配之间的html preg_match($pattern,$html,$pg); echo ""; //正则替换远程地址为本地地址 $p=preg_replace('/\/weather\/(\w+)\/index.htm/', 'tq.php/$1.h...