php - 大家帮忙看一个爬虫抓取需要数据的正则
过去多啦不再A梦
过去多啦不再A梦 2017-05-16 13:16:30
[PHP讨论组]

A. 待抓取的页面的 html

$str2 = <<
    
⑧北京汉奥汽配有限公司

⑧北京汉奥汽配有限公司

主营: 大众 新速腾 新迈腾 新桑塔纳 新捷达 CC 新帕萨特 新宝来 收事故车及残值(郭京汉)

地址: 城环城B-01号

EOT;

B. 我写的抓取正则:

$reg_list = "/\s*\s*\s*\s*\s*\s*\s*\s*\s*<\/a>\s*<\/td>\s*<\/tr>\s*<\/table>\s*<\/td>\s*\s*\s*

\s*[\x7f-\xff]+<\/a>\s*<\/p>\s*\s*主营:<\/span>\s*([\x7f-\xff ]+_-\.)<\/span>\s*<\/p>\s*\s*地址:<\/span>\s*([\x7f-\xff -_\.]+)<\/span>\s*<\/p>\s*<\/td>\s*<\/td>\s*<\/tr>\s*<\/table>\s*<\/p>/";

编辑器中显示(截图):

之所以写成这么复杂是因为我要获取一下部分内容:

关键点来了,那么复杂,根本无法调试正则让他正确的抓取到我要的内容,请问各位大牛是如何写这样复杂的正则,然后调试,直到能够抓取到自己想要的数据的??

过去多啦不再A梦
过去多啦不再A梦

全部回复(1)
巴扎黑

DOM自然是更好选择,然正则也不见得做不到。

/alt=\'(?P<name>[^\']+)\'(?:.+?)?src=\'(?P<img>[^\']+)\'(?:.+?)?主营:(?:.+?)?\'>(?P<scope>[^<]+)(?:.+?)?地址:(?:.+?)?\'>(?P<address>[^<]+)/s
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号