php抓取网页标签(方维网络记录一下采集过程中的几个要点需要注意的地方)

优采云 发布时间: 2022-02-05 20:19

  php抓取网页标签(方维网络记录一下采集过程中的几个要点需要注意的地方)

  PHP网站在生产中经常需要采集其他网站数据,一些细节会造成很大的麻烦。维网记录采集过程中需要注意的几个点

  1、首先,你需要获取对方网站的所有内容。你可能会想到使用 file_gets_contents 来获取它,但是这个函数不适合获取远程文件。打开本地txt文件非常有用。那么用什么来获取呢?curl,这个php扩展来处理。以下是获取网页内容的简单基本配置。更多参数配置可以在线搜索。

  

  2、在采集网页匹配数据时,尤其是列表页,可以先把对方的空格、换行等html标签全部去掉,这样会容易很多写正则表达式。这是一个函数:

  

  3、正则匹配会在获取到对方数据后开始。以下是一些常见的匹配规则:

  一个是任意字符(.*?),一个是([\s\S]*?) 表示任意字符,包括换行符,在匹配过程中就足够了。然后选择匹配模式 i。

  4、介绍采集的思路。您可以下载与页面匹配的数据并保存为txt文件,然后在本地进行处理。另外,为了避免频繁访问对方网站或者数据丢失,可以加一个while(){}循环或者sleep()暂停几秒来处理。封装相关的数据库处理函数,直接调用。

  5、还有一个重要的事情很多人可能会忽略,那就是页面的编码。如果对方网站是gbk的编码,对应的php文件或者提交条件的html文件也会是gbk的编码。但是会有一个问题,就是gbk的html向gbk的php页面提交中文数据的时候,gbk的php文件可能没有响应你。如果用这些中文数据来匹配,就会遇到问题。所以我们要换个思路,utf-8是最好的编码方式,所以要使用utf-8编码,而对方是gbk,怎么办呢?

  $allcontent =iconv('gbk', 'utf-8',removetag(curl_exec($ch)));

  上面的转换就ok了!全部使用 utf-8

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线