如果不使用re.S参数,则只在每一行内进行匹配,如果一行没有,就换下一行重新开始。
而使用re.S参数以后,正则表达式会将这个字符串作为一个整体,在整体中进行匹配。
import requests
import re
r = requests.get('https://www.52pojie.cn/misc.php?mod=ranklist&type=thread&view=replies&orderby=thisweek') # 吾爱 排行榜
ms=re.findall(r'<td class="icn">.*?target="_blank">(.*?)</a></th>',r.text,re.S)
for i in ms:
print(i)