失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python爬取ajax动态内容肯德基门店_新手爬虫.全国KFC门店地址抓取.

python爬取ajax动态内容肯德基门店_新手爬虫.全国KFC门店地址抓取.

时间:2022-12-18 03:47:59

相关推荐

python爬取ajax动态内容肯德基门店_新手爬虫.全国KFC门店地址抓取.

import requests

import json

def getJSON_text(url, num=str(10), city='北京'):

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'

}

data = {

"cname": city,

"pid": "",

"pageIndex": "1",

"pageSize": num

}

try:

response = requests.post(url=url, data=data, headers=headers, timeout=30)

response.raise_for_status()

response.encoding = response.apparent_encoding

return response.text

except:

print('出错了,请检查城市名称!')

def user_input():

city = input("请输入目标城市(回车默认'北京'):")

if city == '':

return '北京'

else:

return city

def main():

url = '/kfccda/ashx/GetStoreList.ashx?op=cname'

city = user_input() # 用户指定城市

JSON = getJSON_text(url,city=city) # 第一次调用函数 获取json内容

num = json.loads(JSON)["Table"][0]['rowcount']# 解析json取得地址总数num

print("含有地址{}个.如下!".format(num))

str_json = getJSON_text(url, num, city)# 第二次调用函数 指定总数.

for i in json.loads(str_json)['Table1']:# 开始遍历

print("{}{}{} 辅助标记地点:({}), 特色: {}".format(i['provinceName'], i['cityName'], i['addressDetail'], i['storeName'], i['pro']))

if __name__ == '__main__':

main()

'''

这是返回的json内容, 对照最后的格式化输出,方便理解.

{

"Table": [

{

"rowcount": 83

}

],

"Table1": [

{

"rownum": 1,

"storeName": "车百餐厅",

"addressDetail": "东风大街38号欧亚车百一楼肯德基",

"pro": "Wi-Fi,店内参观,礼品卡,生日餐会",

"provinceName": "吉林省",

"cityName": "长春市"

},

{

"rownum": 2,

"storeName": "福林",

"addressDetail": "同志街68号",

"pro": "24小时,Wi-Fi,礼品卡",

"provinceName": "吉林省",

"cityName": "长春市"

}

]

}

'''

如果觉得《python爬取ajax动态内容肯德基门店_新手爬虫.全国KFC门店地址抓取.》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。