首页 > 其他分享 >爬虫ajax的post请求肯德基官网

爬虫ajax的post请求肯德基官网

时间:2023-09-29 20:55:48浏览次数:46  
标签:request urllib content ajax cname ashx post 官网 page

# 1页
# http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname
# post
# cname: 北京
# pid:
# pageIndex: 1
# pageSize: 10


# 2页
# http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname
# post
# cname: 北京
# pid:
# pageIndex: 2
# pageSize: 10

import urllib.request
import urllib.parse

def create_request(page):
    base_url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname'

    data = {
        'cname': '北京',
        'pid':'',
        'pageIndex': page,
        'pageSize': '10'
    }

    data = urllib.parse.urlencode(data).encode('utf-8')

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

    request = urllib.request.Request(url=base_url,headers=headers,data=data)

    return request

def get_content(request):
    response = urllib.request.urlopen(request)
    content = response.read().decode('utf-8')
    return content


def down_load(page,content):
    with open('kfc_' + str(page) + '.json','w',encoding='utf-8')as fp:
        fp.write(content)



if __name__ == '__main__':
    start_page = int(input('请输入起始页码'))
    end_page = int(input('请输入结束页码'))

    for page in range(start_page,end_page+1):
        # 请求对象的定制
        request = create_request(page)
        # 获取网页源码
        content = get_content(request)
        # 下载
        down_load(page,content)

 

标签:request,urllib,content,ajax,cname,ashx,post,官网,page
From: https://www.cnblogs.com/daitu66/p/17737267.html

相关文章

  • 甲骨文宣布: 也做 PostgreSQL!
    PostgreSQL在开源数据库世界中一直是一个标志性的存在。经过35年的严格开发,它以其可靠性、强大的功能和性能而自豪。DB-engines的突出显示,其市场份额的增长证明了其适应性强的数据模型和满足各种用例需求的多样化扩展。考虑到PG突出的地位,甲骨文将推出基于PostgreSQL14.9版......
  • 甲骨文宣布: 也做 PostgreSQL!
    PostgreSQL在开源数据库世界中一直是一个标志性的存在。经过35年的严格开发,它以其可靠性、强大的功能和性能而自豪。DB-engines的突出显示,其市场份额的增长证明了其适应性强的数据模型和满足各种用例需求的多样化扩展考虑到PG突出的地位,甲骨文将推出基于 PostgreSQL14.9版......
  • How to get Postman API request code All In One
    HowtogetPostmanAPIrequestcodeAllInOnePostmancanconvertanAPIrequestintoacodesnippet,andyoucanchoosetheprogramminglanguageorframework.Youcanusethisgeneratedcodesnippetinyourfront-endapplications.https://learning.pos......
  • CSS 基础 3 - 定位 Postion 属性
    CSS基础3-定位Postion属性staticposition属性的默认值,元素随HTML流移动top/left/right/bottom属性无效relative和static类似,元素随HTML流移动。区别:比static多了top/left/right/bottom(设定偏移量)【父相子绝】【可以作为父元素,让内部的absolute元素根......
  • PostgreSQL数据库事务系统——获取virtual transaction id
    如果一个事务没有进行INSERT、UPDATE、DELETE操作,那么就步会分配事务ID,但事务仍然用一个虚拟事务ID代表自己。虚拟事务ID由两部分组成,第一部分是BackendID,另一个是每个会话自己维护的本地事务ID计数器。通过两部分组合,能保证这个虚拟事务ID的唯一性。在PostgreSQL数据库IPC——SI......
  • postman升级后文件丢失/登录后无文件解决
     找到C盘用户admin账号下AppData文件夹,按照下面路径找到如下如所示的文件C:\Users\Admin\AppData\Roaming\Postman 找到最新的一次记录 将这个最新的json文件导入到postman中即可。 ......
  • postgresql xid回卷预防及排查
    监控WITHmax_ageAS(SELECT2000000000asmax_old_xid,settingASautovacuum_freeze_max_ageFROMpg_catalog.pg_settingsWHEREname='autovacuum_freeze_max_age'),per_database_statsAS(SELECTdatname......
  • 有哪些可以替代postman的接口测试软件?
    作者:IT华妹陀链接:https://www.zhihu.com/question/525827377/answer/2884144067来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。个人认为这几个工具都可以参考下!1.Fiddler:Fiddler是一款功能强大的接口测试软件,它可以帮助用户抓取、修改和重放......
  • Postman06-前置代码块
    pre-requestscript在发送测试请求之前所要执行的代码常用于设置域名、IP,保存多个请求共用的数据等......
  • 使用VS2008开发运行在.net 2.0环境下的 ASP.NET AJAX 网站
    前段时间想做个博客系统,用着vs2008很顺手,所有准备在上面开发。在选择JS框架的时候看重了asp.netajax,但是后来查阅资料,发现vs2008下面开发的asp.netajax程序在.netframework2.0下面没法部署运行,原因都是可爱的微软在集成路上啊...今天去www.asp.net网站看,见BradAbrams写的一篇......