正则表达式匹配问题?

图片描述

如图,1号区域了2号区域完全相同,但是1号是完整的区域,2号+3号才是完整的区域,所以就导致了2号的部分区域与1号完全相同,在正则匹配的时候,按照1号区域写则3号匹配不到,按照2号区域写,1号又会贪婪了2号区域...
表述的有点乱,就是文章的评论,1号是直接评论的文章,2号之所以比1号多,是因为2号评论了1号,所以....
我放上一个参考地址:https://xueqiu.com/statuses/c... 这个是随便找的测试地址(headers在下方),雪球方觉得不合适可以联系删除。
cookies是未登录状态的。
`headers = {

    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest',
    'Referer': 'https://xueqiu.com/',
    'Content-Type': 'application/json;charset=UTF-8',
    'Cookie': 's=ee11txgiln; _ga=GA1.2.1146559934.1538272510; device_id=6d1339879611fe18e7ccd26bff3d51e5; __utmz=1.1540351301.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); aliyungf_tc=AQAAAKBKQzmNDgAANCC+PfASvjnuwIqz; xq_a_token=2da5342ee6de7bf35ff52ec296426e9c9670f647; xq_a_token.sig=C57MGRXU_-qi2-KXnJaQ6tX4qLI; xq_r_token=f37df9336ae424cffdbe3a31123f2ab4676ba00c; xq_r_token.sig=_VMY0dRhVuU359Ecmhs_1Gtuzto; _gid=GA1.2.2127579758.1542003777; Hm_lvt_1db88642e346389874251b5a1eded6e3=1539569640,1540350870,1541485173,1542003777; u=561542003777391; __utmc=1; __utma=1.1146559934.1538272510.1542003791.1542007783.7; Hm_lpvt_1db88642e346389874251b5a1eded6e3=1542010360; _gat_gtag_UA_16079156_4=1'
}`
阅读 1.5k
2 个回答

看上去是 json, 用 json解析不是更好么, 为什么用正则?

用json解析解决了。
请求网页之后,返回的就是完整的json数据,所以直接:
json.loads()就可以了
之后再找到对应的节点(id啥的),返回的结果是dict,转成str之后再用正则就可以了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题