#coding = utf-8
import requests
import pandas as pd
import os,time root_path = './根目录/'
input_file = '码表.xlsx'
url = 'http://api.map.baidu.com/geocoder/v2/?id = %s&local=1'
fail_file = root_path +'fail.csv' class Auto_down:
def __init__(self):
print("--start--")
def read_excel(self):
# pd.read_excel(converters = {u'列名':str})按照str类型读入,不会出现0被舍去的情况
sheet = pd.read_excel(input_file,converters = {u'列名':str},sheetname = '子表名')
cust_Id = sheet['cust_id']
void_Id = sheet['void_id'] for i in range(len(cust_Id)):
self.create_file(cust_Id[i],void_Id[i]) def download_voice(self,custid_filename,voiceid):
print(voiceid)
try:
r = requests.get(url%voiceid)
return_code = r.status_code
if return_code == 200:
voice_filename = '%s/%s.mp3'%(custid_filename,voiceid)
with open(voice_filename, 'wb') as fd:
fd.write(r.content)
else:
with open(fail_file, 'a+') as ff:
ff.write(voiceid + '\n')
except:
print('request url is fail!!')
with open(fail_file, 'a+') as ff:
ff.write(voiceid + '\n') def create_file(self, custid, voiceid):
custid_filename = root_path + custid
if not os.path.exists(custid_filename):
os.mkdir(custid_filename)
else:
self.download_voice(custid_filename,voiceid) if __name__ == '__main__':
tStart = time.clock() AD = Auto_down()
AD.read_excel() tEnd = time.clock() print("%s s"%(tEnd - tStart))
#coding = utf-8
import requests root_path = "./下载/" url = ""
fail_file = root_path + 'fail.csv'
voiceid = ''
for i in range(3):
try:
r = requests.get(url)
return_code = r.status_code
if r.status_code == 200:
voice_filename = root_path + 'dada.fdf'
with open(voice_filename,'wb') as fd:
fd.write(r.content)
else:
with open(fail_file,'a+') as ff:
ff.write(voiceid + '\n')
except:
prin("fail")
with open(fail_file,'a+') as ff:
ff.write(voiceid + '\n')

r = request.get(url)
r.status_code 获取响应状态码
r.text 获取响应内容
r.headers 获取响应头
r.encoding 获取响应编码
r.content 获取二进制响应内容
r.json() 获取JSON响应内容

python 爬取媒体文件(无防火墙)的更多相关文章

  1. python 爬取媒体文件(使用chrome代理,启动客户端,有防火墙)

    #coding = utf-8 ''' 中文转经纬度 ''' import time,json import urllib.request from selenium import webdriver ...

  2. scrapy --爬取媒体文件示例详解

    scrapy 图片数据的爬取 基于scrapy进行图片数据的爬取: 在爬虫文件中只需要解析提取出图片地址,然后将地址提交给管道 配置文件中写入文件存储位置:IMAGES_STORE = './imgs ...

  3. python爬取当当网的书籍信息并保存到csv文件

    python爬取当当网的书籍信息并保存到csv文件 依赖的库: requests #用来获取页面内容 BeautifulSoup #opython3不能安装BeautifulSoup,但可以安装Bea ...

  4. python爬取网站数据

    开学前接了一个任务,内容是从网上爬取特定属性的数据.正好之前学了python,练练手. 编码问题 因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这个机会算是彻底搞清楚了. 问题要从文字的编码讲 ...

  5. python爬取网站数据保存使用的方法

    这篇文章主要介绍了使用Python从网上爬取特定属性数据保存的方法,其中解决了编码问题和如何使用正则匹配数据的方法,详情看下文     编码问题因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这 ...

  6. Python爬取中国天气网

    Python爬取中国天气网 基于requests库制作的爬虫. 使用方法:打开终端输入 “python3 weather.py 北京(或你所在的城市)" 程序正常运行需要在同文件夹下加入一个 ...

  7. 用Python爬取B站、腾讯视频、爱奇艺和芒果TV视频弹幕!

    众所周知,弹幕,即在网络上观看视频时弹出的评论性字幕.不知道大家看视频的时候会不会点开弹幕,于我而言,弹幕是视频内容的良好补充,是一个组织良好的评论序列.通过分析弹幕,我们可以快速洞察广大观众对于视频 ...

  8. 毕设之Python爬取天气数据及可视化分析

    写在前面的一些P话:(https://jq.qq.com/?_wv=1027&k=RFkfeU8j) 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向. ...

  9. Python 爬取途虎养车 全系车型 轮胎 保养 数据

    Python 爬取途虎养车 全系车型 轮胎 保养 数据 2021.7.27 更新 增加标题.发布时间参数 demo文末自行下载,需要完整数据私聊我 2021.2.19 更新 增加大保养数据 2020. ...

随机推荐

  1. kali渗透综合靶机(十七)--HackInOS靶机

    kali渗透综合靶机(十七)--HackInOS靶机 靶机下载地址:https://www.vulnhub.com/hackinos/HackInOS.ova 一.主机发现 1.netdiscover ...

  2. jdbc:mysql:/// jdbc连接数据url简写方式

    正常情况下我们写jdbc连接本地mysql数据库的时候通常是这样写 jdbc:mysql:localhost:3306/数据库名 下面就是要提到的简单的方法 jdbc:mysql:///数据库名

  3. 数据解析模块BeautifulSoup简单使用

    一.准备环境: 1.准备测试页面test.html <html> <head> <title> The Dormouse's story </title> ...

  4. 初识Android App自动化测试框架--Unittest

    1.为什么需要使用框架实现自动化测试 作为测试工程师,可能在代码能力上相比开发工程师要弱一点,所以我们在写脚本的时候就会相对容易的碰到更多的问题,如果有一个成熟的框架供给我们使用的话,可以帮助我们避免 ...

  5. linux线程绑定cpu

    函数介绍 #define __USE_GNU #include <sched.h> void CPU_ZERO(cpu_set_t *set); void CPU_SET(int cpu, ...

  6. 10.InfluxDB-InfluxQL基础语法教程--OFFSET 和SOFFSET子句

    本文翻译自官网,官网地址:(https://docs.influxdata.com/influxdb/v1.7/query_language/data_exploration/) OFFSET 和SO ...

  7. Rust第一次---centos 7下的安装,配置,测试

    现在安装都依赖于网络,命令比较简单. 一,运行脚本,安装runstup 1,运行如下脚本: curl https://sh.rustup.rs -sSf | sh 2,输入默认项1,完成余下的安装 二 ...

  8. IDEA 一键生成所有setter方法(GenerateAllSetter插件)

    GenerateAllSetter插件使用效果如下: alt+enter快捷键选择Generate all setter 之后就会自动生成其中的所有setter方法 下面介绍idea安装步骤: alt ...

  9. 使用jmeter进行压力测试及如何添加负载机

    Jmeter是一款简单灵活且强大的性能测试工具,同时也可以做接口测试. 由于初识jmeter,今天来记录一下如何对一个web进行一个简单的压力测试. 1.首先在测试计划里面添加一个线程组,然后再其下面 ...

  10. 201871010102-常龙龙《面向对象程序设计(java)》第七周学习总结

    二.博文正文开头格式: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/ ...