一个 麦当劳 小爬虫

直接上代码,不多说,还得去看看今天有啥子优惠呢!

import 一些库

def main():
    ak = ' '#这个是自己申请的百度地图ak
    baseurl = 'http://api.map.baidu.com/place/v2/search?query=麦当劳&region=填入地区&output=json&output=json&ak={}&page_num={}&page_size=20'#每一页显示信息条数
    datalist=getDate(baseurl)
    saveDate(datalist)
    askURL(baseurl)

def getDate(baseurl):
    datalist=[]
    dataout=askURL(baseurl)#爬取网页
    jsondata = json.loads(dataout)
    #这里可以加入一个循环去获取每一页
    for j in jsondata['results']:
        data=[]
        name = j.get('name')
        address = j.get('address')
        tel = j.get('telephone')
        data.append(name)
        data.append(address)
        data.append(tel)
        #print(data)
        datalist.append(data)#获取信息
    print(datalist)

    return datalist

def askURL(baseurl,ak):
    kv={ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}##模拟浏览器头部信息,向服务器发送消息
    dataout=""
    i=0
    try:
            response=requests.get(baseurl.format(ak,i),headers=kv)#
            response.encoding = 'utf-8'
            dataout = response.text
            #print(dataout)
    except:
            print("cuowu")
    return  dataout
#保存数据
def saveDate(datalist):
    book=xlwt.Workbook(encoding='utf-8',style_compression=0)#创建book对象
    sheet=book.add_sheet('麦当劳',cell_overwrite_ok=True)#创建工作表
    col=("name","address","tel")
    for i in range(0,3):
        sheet.write(0,i,col[i])#列名
    for i in range(0,20):
        print("第%d条" %i)
        data=datalist[i]
        for j in range(0,3):
            sheet.write(i+1,j,data[j])
    book.save("麦当劳.xls")

if __name__=='__main__':
    main()
    print("爬取完毕!")


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值