PHP屏幕抓取的过程


Process Involved in PHP Screen Scraping

谁能告诉我在PHP屏幕抓取使用POST请求aspx页面的过程?我想从一个网站下载数据并保存到数据库。

一般步骤,无论两侧使用何种技术:

  1. 通过HTTP下载目标页面(通常使用libcurl)
  2. 解析下载的文件
  3. 提取您感兴趣的部分
  4. 将提取的数据存储在数据库中。

根据给定的信息,这几乎是所有人都能告诉你的。

下载文件:

$file = file_get_contents('http://www.google.com');

如果是XML文件或json文件,将其分解成一个数组,然后使用

搜索你想要的值
$key = array_search('search term', $array);

this将返回您正在查找的数组的键,因此它将是$array[$key]。但是如果它是一个HTML页面,你可以很容易地使用这个函数来搜索下载的页面:

function extractStringFromString ($string, $start, $end) {
$startPos = strpos($string,$start);
$stringEndTagPos = strpos($string,$end,$startPos);
$stringBetween = substr($string,$startPos+strlen($start),$stringEndTagPos-$startPos-strlen($start));
if (strlen($stringBetween) != 0) {
    return $stringBetween;
    return true;
}
else {
    return false;
}
}

你可以像$returnString = extractStringFromString($file, '$start', '$end'一样使用这个函数,$start是你正在寻找的东西的开始,使用$end来结束搜索,所以如果你有<div id="someID">here is some text</div>, $start将等于<div id="someID">$end = '</div>', $returnString将等于"here is some text"。

对于DB,您需要连接到DB,然后使用像 这样的命令
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)

如果还有什么问题请告诉我