爬虫学习第一天
工具:pycharm、Edge
学习地址:https://www.luffycity.com/free/128
思路:
爬虫的基础步骤(requests编码流程)
- 指定url
- 发起请求
- 获取响应数据
- 持久存储数据
案例:
- 需求1:爬取指定此条对应的搜索结果页面
- 需求2:百度翻译
- 需求3:豆瓣电影
- 需求4:肯德基餐厅案例(作业)
坑:
get/post :页面的两种请求方式
requests.get(url,params,headers) vs requests.post(url,data,headers)
抓取过程中,data或者params必须都要完整,空的也要 用 ‘ ’。
作业代码:
1 import requests 2 import json 3 4 if __name__ == '__main__': 5 url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword' 6 headers = { 7 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.29 Safari/537.36 Edg/79.0.309.18' 8 } 9 kw = '北京' 10 file_name = kw + '.json' 11 fp = open(file_name, 'w', encoding='utf-8') 12 for page in range(10): 13 data = { 14 'cname':'', 15 'pid':'', 16 'keyword': kw, 17 'pageIndex': page, 18 'pageSize': '10', 19 } 20 respone = requests.post(url=url,data=data,headers=headers) 21 obj = respone.json() 22 json.dump(obj=obj,fp=fp,ensure_ascii=False) 23 24 print('over')