为什么我爬取不了旅游景点的数据,代码如下
import requests
import parsel
import csv
import time
page=1
url = 'https://piao.qunar.com/ticket/list.htm?keyword=%E6%B2%B3%E6%BA%90&®ion=&from=mpl_search_suggest&page={}'.format(page)
headers = {
'user-agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Mobile Safari/537.36 Edg/112.0.1722.58'
}
response = requests.get(url=url, headers=headers)
for page in range(1, 11):
time.sleep(1)
lis=[]
for li in lis:
title = li.css('.sight_item_caption a::attr(title)').get() # 景区名字
dit['景区名字'] = title
level = li.css('.sight_item_info .level::text').get() # 景区等级
dit['景区等级'] = level
area = li.css('.area a::attr(title)').get() # 地区
dit['地区'] = area
address = li.css('.address span::attr(title)').get() # 地址
dit['地址'] = address
string = li.css('.product_star_level em::attr(title)').get() # 热度
star_level = float(string.strip('热度: '))
dit['热度'] = star_level
intro = li.css('.intro::attr(title)').get() # 简介
dit['简介'] = intro
price = li.css('.sight_item_price em::text').get() # 价格
dit['价格'] = price
hot_num = li.css('.hot_num::text').get() # 月销
dit['月销'] = hot_num
csv_writer.writerow(dit)
f = open('河源旅游景点.csv', mode='a', encoding='utf-8-sig', newline='')
csv_writer = csv.DictWriter(f, fieldnames=['景区名字', '景区等级', '地区', '地址', '热度', '简介', '价格', '月销'])
csv_writer.writeheader()
print(dit)
报错的问题有几个
NameError: name 'dit' is not defined
NameError: name 'page' is not defined