求助,正则表达式,为什么红字抓取不到
python3吧
全部回复
仅看楼主
level 1
某MoBu子 楼主
代码如图,第二个条件的(我想的)逻辑如下:
右尖括号,空字符出现0或多次,非空字符出现1或2次,非空字符出现0或多次,除了“</”这个组合以外的字符出现1或多次,左尖括号
黄色部分是可以正常抓取到的,通过试错发现红字不能被抓取的原因是空格出现在了斜杠/之前。就是说,把红字书名号中的空格删除,或者把//删除都可以正常抓取。
2022年02月05日 17点02分 1
level 1
某MoBu子 楼主
但是!我不理解,为什么空格和斜杠会冲突?而且哪怕空格在斜杠之后出现也能正常抓取。另外我觉得红字部分应该是符合第二个条件的呀?而且内容结构和黄色部分没啥区别,怎么就抓取不到呢
2022年02月05日 17点02分 2
level 1
某MoBu子 楼主
而且这是html,我不能修改的,求教各位大佬,是不是我判断条件哪里写的不对[泪]
2022年02月05日 17点02分 3
level 11
为什么纠结用re?xpath提取不是更简单吗
2022年02月06日 04点02分 4
level 11
'<img.*?>(.?*)<'
试试这个规则,没测试的
2022年02月06日 04点02分 5
感谢大佬!确实能抓取红字了,但是影响了第一个条件的判断[笑尿]我再按这个思路想办法修改一下,谢谢!另外,我是新手边学边做的,不知道re以外其他的方法,如果实在解决不了我就去学一下那个xpath[小乖]
2022年02月06日 05点02分
1