import re
import requests
i = 0
while i <= 3:
change = 0
url = f"https://movie.douban.com/top250?start={change}"
headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/92.0.4515.107 Safari/537.36"}
resp = requests.get(url=url, headers=headers)
content = resp.text
obj = re.compile(r'<li>.*?<div class="item">.*?<span class="title">(?P<name>.*?)</span>'
, re.S)
result = obj.finditer(content)
for i in result:
print(i.group("name"))
resp.close()
i = i + 1
这个会报错,正则和int不匹配
这个错误的原因是第16行中的i与第5行定义的i名称冲突,第16,17行中的i换个其他的名称就可以了。命名是重要的一个事情,好的命名能规避错误还能利用阅读。