Requests PK 豆瓣&肯德基
写在前面
你好,我是禅墨!
之前我们主要学习了Requests模块,掌握的怎么样呢,
今天就做两个小练习,不多说任何废话!
不知道步骤的可以翻看之前的文章!
爬取豆瓣电影排行
在这里以喜剧为例:
# -*- coding:utf-8 -*-
import json
import requests
if __name__ == "__main__":
url = 'https://movie.douban.com/j/chart/top_list?'
param = {
'type': '24',
'interval_id': '100:90',
'action': '',
'start': '1', #从库中的第几部电影去取
'limit': '20', #一次取出的个数
}
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'
}
response = requests.get(url=url,params=param,headers=headers)
list_data = response.json()
print(list_data)
filename = input('Enter a word:')+'.json'
fp = open(filename,'w',encoding='utf-8')
json.dump(list_data,fp=fp,ensure_ascii=False)
print('OK!')
https://movie.douban.com/typerank?type_name=%E5%96%9C%E5%89%A7&type=24&interval_id=100:90&action=
需要注意的是:之前我们的post请求,都是只带有一个参数的,那多个参数怎么办呢,其实你已经创建过字典了,只需要把其他参数加进去就行了。
肯德基餐厅位置
这个就更不用多说了:
# -*- coding:utf-8 -*-
import json
import requests
while(True):
url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'}
city = input("Enter a city:")
param = {
'cname': '',
'pid': '',
'keyword': city,
'pageIndex': '1',
'pageSize': '10',
}
response = requests.post(url=url,params=param,headers=headers)
data_text = response.text
print(data_text)
'''filename = city+'.txt'
with open(filename,'w',encoding='utf-8') as fp:
fp.write(data_text)'''
print('OK!')
写在后面
OK!这就是本篇文章全部内容了!
欢迎关注禅墨云,我们不见不散!
博客网站同步更新,网址:chanmoyun.gitee.io