怎么用php采集网站数据

怎么用php采集网站数据,第1张

简单的分了几个步骤:

1、确定采集目标

2、获取目标远程页面内容(curl、file_get_contents)

3、分析页面html源码,正则匹配你需要的内容(preg_match、preg_match_all),这一步最为重要,不同页面正则匹配规则不一样

4、入库

亲,很高兴为你解答:

首先该XML是必须要通过cURL伪造正常的UA才可以访问,否则返回的是HTTP 403。

个人建议是用SimpleXMLElement做, *** 作起来比较方便。

截图如下:

代码如下:

<?php

$headers["User-Agent"] = "null"

$headerArr = array() 

foreach($headers as $n => $v){

$headerArr[] = $n .':' . $v  

}

$ch = curl_init("http://www.cailele.com/static/ssc/newlyopenlist.xml")

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true)

curl_setopt ($ch, CURLOPT_HTTPHEADER , $headerArr)

curl_setopt($ch, CURLOPT_BINARYTRANSFER, true)

$content = curl_exec($ch)

$xml = simplexml_load_string($content)

for($i = 0 $i < count($xml->row) $i++){

foreach($xml->row->attributes() as $k=>$v){

echo "  " . $k . " => " . $v

}

echo "<br />"

}

?>

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

如有疑问欢迎追问!

满意请点击右上方【选为满意回答】按钮

只举例说明,生产环境你自己根据情景去搞

$url = 'www.domain.com'

$content = file_get_content($url)//抓取网页全部内容

preg_match( string pattern, string subject [, array matches ] )//正则获取自己需要的内容

入库~

完事了。。。

当然,情形复杂,例如需要登录,采集目标限制等问题,这再说...

实际使用的时候,可以直接使用Snoopy类,提供好多方法供使用,比自己去造轮子要安全,当然,你可以在她的基础上再去造轮子~~~


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11690154.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存