laogesix 发表于 2020-4-18 20:40:59

请教个正则提取IndexError list index out of range

在爬某网站的时候遇见了个问题
有些网页爬取出现IndexError list index out of range

这是出问题的截图和网页/g/201100/
https://i.loli.net/2020/04/18/43fcqMvSmPjxnzZ.png



这是我正则提取的代码

page = re.findall('<img src="https://t.n**.net/galleries/(.*?)/.*?t.jpg" width=".*?" height=".*?" alt="" />',html)[-1]




这是需要提取的代码
<div class="thumb-container">
                                <a class="gallerythumb" href="/g/308955/2/" rel="nofollow">
                                        <img is="lazyload-image" class="lazyload " width="400" height="600" data-src="https://t.n**.net/galleries/1612742/2t.jpg" alt="" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" /><noscript><img src="https://t.n**.net/galleries/1612742/2t.jpg" width="400" height="600" alt="" /></noscript>
                                </a>
                        </div>

小小小菜菜菜 发表于 2020-4-20 22:45:15

你知道正则有元字符么?把要匹配的元字符都转义下。而且字符串前边加个r类似这样r'<img src="https://t\.n\*\*\.net/galleries/(.*?)\.jpg" width="400" height="600" alt="" />'基本上这样就可以

_2_ 发表于 2020-4-21 14:53:25

可能是 page 为空列表,建议检查一下正则表达式是否正确

suchocolate 发表于 2020-4-21 17:19:50

page = re.findall(r'img.*?\.jpg\"',html)[-1]
页: [1]
查看完整版本: 请教个正则提取IndexError list index out of range