python正则表达式卡死程序

记一次未知错误
这是出问题的代码,本来是想匹配resp.text中的一个page_id,结果程序迟迟不返回结果,后来发现是re.findall这里卡死了,不太理解(对正则表达式只会简单使用)。

import requests
import re
from bs4 import BeautifulSoup
headers = {
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.6788.400 QQBrowser/10.3.2843.400',
}

url = "https://piao.ctrip.com/ticket/dest/t2439.html"

resp = requests.get(url=url, headers=headers)
pageid = re.findall(".*?name=\"page_id\" value=\"(.*?)\".*?", resp.text)
print(pageid)

后来把开头和结尾的.*?删去就能正常运行了(不知道为什么,有大佬知道就说一下)。

pageid = re.findall(".*?name=\"page_id\" value=\"(.*?)\".*?", resp.text)

改成

pageid = re.findall("name=\"page_id\" value=\"(.*?)\"", resp.text)

你可能感兴趣的:(python)