##引入requests/pymysql模塊
本地安裝mysql數據庫,安裝圖形化工具navicat
import requests
from pymysql import Connect#創建客戶端連接信息
client = Connect(host='127.0.0.1',port=3306,user='root',password='',
)
#創建游標
cursor = client.cursor()
cursor.execute('create database if not exists qunar')
cursor.execute('use qunar')
cursor.execute('create table if not exists qunar_hotel(''id int primary key auto_increment,''name char(100),''city_name char(30),''price int,''score int,''type char(60),''address char(255),''comment char(60))')#引入城市列表
city_url_list = [{"name": "北京","url": "beijing_city"
}, {"name": "成都","url": "chengdu"
}, {"name": "廣州","url": "guangzhou"
}, {"name": "杭州","url": "hangzhou"
}, {"name": "昆明","url": "kunming"
}, {"name": "青島","url": "qingdao"
}, {"name": "上海","url": "shanghai_city"
}, {"name": "深圳","url": "shenzhen"
}, {"name": "西安","url": "xian"
}, {"name": "重慶","url": "chongqing_city"
}, {"name": "北海","url": "beihai"
}, {"name": "大理","url": "dali"
}, {"name": "大連","url": "dalian"
}, {"name": "東莞","url": "dongguan"
}, {"name": "佛山","url": "foshan"
}, {"name": "福州","url": "fuzhou_fujian"
}, {"name": "貴陽","url": "guiyang"
}, {"name": "桂林","url": "guilin"
}, {"name": "哈爾濱","url": "haerbin"
}, {"name": "海口","url": "haikou"
}, {"name": "合肥","url": "hefei"
}, {"name": "惠州","url": "huizhou_guangdong"
}, {"name": "濟南","url": "jinan"
}, {"name": "嘉興","url": "jiaxing"
}, {"name": "蘭州","url": "lanzhou"
}, {"name": "麗江","url": "lijiang"
}, {"name": "南昌","url": "nanchang"
}, {"name": "南京","url": "nanjing"
}, {"name": "南寧","url": "nanning"
}, {"name": "寧波","url": "ningbo"
}, {"name": "黔東南","url": "qiandongnan"
}, {"name": "秦皇島","url": "qinhuangdao"
}, {"name": "泉州","url": "quanzhou"
}, {"name": "三亞","url": "sanya"
}, {"name": "廈門","url": "xiamen"
}, {"name": "沈陽","url": "shenyang"
}, {"name": "石家莊","url": "shijiazhuang"
}, {"name": "蘇州","url": "suzhou_jiangsu"
}, {"name": "太原","url": "taiyuan"
}, {"name": "天津","url": "tianjin_city"
}, {"name": "威海","url": "weihai"
}, {"name": "溫州","url": "wenzhou"
}, {"name": "烏魯木齊","url": "wulumuqi"
}, {"name": "無錫","url": "wuxi"
}, {"name": "武漢","url": "wuhan"
}, {"name": "西寧","url": "xining"
}, {"name": "煙臺","url": "yantai"
}, {"name": "長沙","url": "changsha"
}, {"name": "鄭州","url": "zhengzhou"
}, {"name": "珠海","url": "zhuhai"
}]for city_dict in city_url_list[:10]:url = f'https://hotel.qunar.com/napi/hotHotelList?size=150&city={city_dict["url"]}'headers = {'user-agent':'https://hotel.qunar.com/napi/hotHotelList?size=150&city={city_dict["url"]}'}res = requests.get(url,headers=headers)resData = tuple(map(lambda x:(x.get('name'),x.get('cityName'),eval(x.get('price')),eval(x.get('score')),x.get('hotelCategory') if x.get('hotelCategory') else 'null',x.get('locationInfo'),x.get('commentDesc') if x.get('commentDesc') else 'null',),res.json()))insert_sql = 'insert into qunar_hotel(name,city_name,price,score,type,address,comment) values(%s,%s,%s,%s,%s,%s,%s)'cursor.executemany(insert_sql,Data)# 提交事務client.commit()
else:cursor.close()client.close()
運行結果: