我是一个新手,想使用php抓取微信页面的正文和标题,标题直接用正则表达式|就抓取到了,但是正文我想的是|>(.*?)<\/|i匹配标签间的内容,再去掉空格,但是还是会匹配到一堆标签,是怎么回事?或者说有其他更好的方法吗?求指教!
http://mp.weixin.qq.com/s?__biz=MzA5NTQ2NjUzMA==&mid=207136729&...
这是一般的微信文章内容链接
下面是这链接的页面代码
Living Music校园歌唱大赛半决赛距离开赛还有???
Living Music校园歌唱大赛半决赛距离开赛还有???
我的评论
加载中
已评论
Living Music校园歌唱大赛半决赛距离开赛还有???
gzgsytw



举报
微信扫一扫
关注该公众号
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
随便折腾~见笑
这种问题,放弃用正则吧,要真正完备的你可能得写一篇文章那样长。但 html 已经是结构化的了,找个 html 解析库就行了,我刚用 firebug 粗略的看了下,正文是在 id 为 page-content 的 p 里。
当然,如果我所看到的是受 js 影响后的页面状态,那你可能得挂个浏览器内核来帮你获取到最终页面状态了。幸好,这个有很多开源的。
可以尝试使用DOM操作库simple-html-dom.php,快速获取HTML结构的内容:
可以把抓取到的内容写入置于内存上的SQLite(/run/shm/php/crawler.db3),避免频繁的磁盘IO.
把文章页面代码贴上来。
曾经尝试爬取微信文章,结果被黑警告 = =
没必要用正则表达式的,可以用PHP像jQuery那样直接操作DOM的,你可以参考一下。 http://www.cnphp.info/php-simple-html-dom-parser-intro.html
我之前使用的phpquery去抓的微信文章,从搜狗进去的,但是不能太频繁,我是把列表抓下来,存入数据库,然后用计划任务60秒抓一次详情,这里的详情注意里面的html解析,我记得视频地址跟图片解析是要注意下的,
建议使用selenium工具通过浏览器渲染获取到加载完成后的界面,然后通过界面解析获取想要的内容~
看到一个爬微信的站http://dedecms5.com
是用工具库
phpquery
类似jQuery的方式解析html
用来抓站什么的很方便