NameError: name 'i' is not defined

问题遇到的现象和发生背景

NameError: name 'i' is not defined

问题相关代码,请勿粘贴截图

-- coding: utf-8 --

import requests
import re
from requests.exceptions import RequestException

def get_one_page(url):
try:
r = requests.get(url)
if r.status_code == 200:
r.encoding = "utf-8" # 防止乱码
return r.text
return None
except RequestException:
return None

def parse_html(html):
global i
pattern = re.compile(r'<li.?class="gl-item">.?<a.?<img.*?source-data-lazy-img="(.*?)" />.?'
r'.?

.?/em>(.?).?
.?<a.*?title="(.*?)"'
r'.*?([\u4E00-\u9FA5|a-zA-Z\s]?)<font.?>(.?)(.?)'
r'.
?
<span class="p-bi-name".?>(.?)<a.?>(.?).?'
r'.
?<span class="p-bi-store".?><a.*?>(.?).?'
r'.
?
.?<a.*?>(.?)(.*?)', re.S)
img = pattern.findall(html)
print(len(img))

for i in img:
  print(i[1])  # 价格
print(i[3] + i[4] + i[5])  # name
print(i[6], i[7])  # author
print(i[8])  # store
print(i[9], i[10])
print()

def main(keyword):
url = "https://search.jd.com/Search?keyword=%22 + keyword
html = get_one_page(url)
parse_html(html)

if name == 'main':
keyword = input("请输入:")
main(keyword)

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果

程序可以运行

print(i[3] + i[4] + i[5]) # name这里要缩进
如有用请采纳