爬虫入门案例2:ajax的post方法爬取kfc官网门店地区数据,并保存下载"/>
Python爬虫入门案例2:ajax的post方法爬取kfc官网门店地区数据,并保存下载
注意这里是ajax的post方法
首先分析url,发现我们在切换页码的时候,url没有任何变化,只有表单数据中的pageindex发生了变化(这里爬取的是青岛的门店地址)
所以url无需变化,只需要更改data就可以了
import urllib.request
import urllib.parse
url=".ashx?op=cname"
headers={#这里填自己的ua"User-Agent":""
}#请求对象定制
def getrequest(page):#post请求,首先进行请求对象的定制data = {"cname": "青岛","pid": "","pageIndex": page,"pageSize": "10"}data=urllib.parse.urlencode(data).encode("utf-8")request=urllib.request.Request(url=url,headers=headers,data=data)return request#获取请求数据
def getcontent(request):response=urllib.request.urlopen(request)content=response.read().decode("utf-8")return content#下载
def download(page,content):fp=open("kfc"+str(page)+".json","w",encoding="utf-8")fp.write(content)if __name__ == '__main__':startpage=int(input("请输入起始页:"))endpage=int(input("请输入终止页"))for page in range(startpage,endpage+1):request=getrequest(page)content=getcontent(request)download(page,content)
爬取结果:
与官网的数据相对应
更多推荐
Python爬虫入门案例2:ajax的post方法爬取kfc官网门店地区数据,并保存下载
发布评论