python爬取三元组数据笔记(二)
需求:爬取豆瓣电影中的电影详情数据
‘#’:为注释
import requests
import json
if __name__ == '__main__':
#url选取于上方的url,将?后面的参数,用param来存储参数。
url = 'https://movie.douban.com/j/new_search_subjects?'
#param里面的参数为network所有的参数,用键值对的形式表现出来。
param = {
'sort': 'U',
'range': '0, 10',
'tags':'',
'start': '0',#从第几个电影开始取
'genres': '喜剧',
}
#UA伪装
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36'
}
response = requests.get(url=url,params=param,headers=headers)
list_data = response.json()
fp = open('./douban.json','w',encoding='utf-8')
json.dump(list_data,fp=fp,ensure_ascii=False)
print('ok')
需求:爬取肯德基餐厅查询
https://www.kfc.com.cn/kfccda/index.aspx指定地点的餐厅数据
分析:打开官网,餐厅查询,录入关键字后点击查询按钮后地址栏中的url不变,说明页面进行逐步刷新,是ajax请求。
所以,同豆瓣电影爬取相似。
import requests
import json
if __name__ == '__main__':
#url选取于上方的url,将?后面的参数,用param来存储参数。
url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'
# param里面的参数为network所有的参数,用键值对的形式表现出来。
#采用变量定义城市
op = input('enter a city :')
param = {
'cname':'',
'pid':'',
'keyword': op,
'pageIndex': '1',
'pageSize': '20'
}
#UA伪装
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36'
}
response = requests.get(url=url,params=param,headers=headers)
list_data = response.json()
fp = open('./kfc store.json','w',encoding='utf-8')
json.dump(list_data,fp=fp,ensure_ascii=False)
print('ok')