python爬取数据保存为csv时生成编号_python中怎么写把以下程序爬取出的数据存入csv文件的代码?...

题目描述

把这个程序爬取出的数据存入csv文件的程序

题目来源及自己的思路

自己写的程序~

相关代码

import urllib.request

import urllib.parse

import json

import re

import requests

class QueryPrice(object):

def __init__(self, who, weight):

self.who = int(who)

self.weight = int(weight)

self.url = "http://www.kuaidiwo.cn/freight/ajaxjg.php"

def get_response(self):

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) Chrome/63.0.3239.26 QQBrowser/10.0.1125.400'

}

data = {

'expid': self.who,

'provinceid': 9, #上海id

'cityid': 155, #浦东id

'toprovinceid': 1, #北京id

'tocityid': 41, #朝阳od

'weight': self.weight

}

html = requests.post(self.url, data, headers).text

'''

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

req = urllib.request.Request(self.url, data, headers)

resp = resp.read().decode('utf-8')

'''

return html

def get_result(self):

first = '上海浦东--> 北京朝阳 %dkg物品运费为:' %self.weight

html = self.get_response()

info = json.loads(html)

if info['data'] and info['jg']:

result1 = first + "%s 元\t%s " % (info['jg'], info['data'][0]['name'])

return result1

else:

result2 = first + "{0} 元\t未查询到此快递公司 id={1}".format(info['jg'], self.who)

return str(result2)

if __name__ == '__main__':

prices = []

for i in range(1, 50):

q = QueryPrice(i, 20)

result = q.get_result()

price = int(re.findall(r'(\d+)\s元', result)[0])

if price != 0:

print(result)

prices.append(price)

print('最便宜价格为: %s \n最贵价格为: %s' % (min(prices),max(prices)))

你期待的结果是什么?实际看到的错误信息又是什么?

能看到存入csv的程序和生成的csv文件~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值