python 爬取媒体文件(无防火墙)
#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 爬取媒体文件(无防火墙)的更多相关文章
- python 爬取媒体文件(使用chrome代理,启动客户端,有防火墙)
#coding = utf-8 ''' 中文转经纬度 ''' import time,json import urllib.request from selenium import webdriver ...
- scrapy --爬取媒体文件示例详解
scrapy 图片数据的爬取 基于scrapy进行图片数据的爬取: 在爬虫文件中只需要解析提取出图片地址,然后将地址提交给管道 配置文件中写入文件存储位置:IMAGES_STORE = './imgs ...
- python爬取当当网的书籍信息并保存到csv文件
python爬取当当网的书籍信息并保存到csv文件 依赖的库: requests #用来获取页面内容 BeautifulSoup #opython3不能安装BeautifulSoup,但可以安装Bea ...
- python爬取网站数据
开学前接了一个任务,内容是从网上爬取特定属性的数据.正好之前学了python,练练手. 编码问题 因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这个机会算是彻底搞清楚了. 问题要从文字的编码讲 ...
- python爬取网站数据保存使用的方法
这篇文章主要介绍了使用Python从网上爬取特定属性数据保存的方法,其中解决了编码问题和如何使用正则匹配数据的方法,详情看下文 编码问题因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这 ...
- Python爬取中国天气网
Python爬取中国天气网 基于requests库制作的爬虫. 使用方法:打开终端输入 “python3 weather.py 北京(或你所在的城市)" 程序正常运行需要在同文件夹下加入一个 ...
- 用Python爬取B站、腾讯视频、爱奇艺和芒果TV视频弹幕!
众所周知,弹幕,即在网络上观看视频时弹出的评论性字幕.不知道大家看视频的时候会不会点开弹幕,于我而言,弹幕是视频内容的良好补充,是一个组织良好的评论序列.通过分析弹幕,我们可以快速洞察广大观众对于视频 ...
- 毕设之Python爬取天气数据及可视化分析
写在前面的一些P话:(https://jq.qq.com/?_wv=1027&k=RFkfeU8j) 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向. ...
- Python 爬取途虎养车 全系车型 轮胎 保养 数据
Python 爬取途虎养车 全系车型 轮胎 保养 数据 2021.7.27 更新 增加标题.发布时间参数 demo文末自行下载,需要完整数据私聊我 2021.2.19 更新 增加大保养数据 2020. ...
随机推荐
- Spring整合Mybaits java.sql.SQLException: Access denied for user '***'@'localhost' (using password: YES)
最近在搞Spring和Mybatis的整合,当我们在Spring里面配置数据源,而数据源是从外部的properties文件读取过来的时候就会报错 java.sql.SQLException: Acce ...
- 动态ALV表实例-移动类型汇总
TABLES:MSEG,MAKT. "定义结构 TYPES:BEGIN OF TY_DATA, MJAHR LIKE MSEG-MJAHR, "物料凭证的年份 MBLNR LIKE ...
- Tp5.1开发初入门
今天需要给金融部门那边做一个信用卡的推广页面,他们系统是用PHP的tp框架做的.我记得最早做tp还是2的时候,和现在的5.1相差太大了,中间开发的时候,还是遇到了点问题.所以,把今天的问题记录下,作个 ...
- JavaWeb之文件上传和下载
在如今的互联网时代,人们越来越喜欢将自己的数据存放到互联网上,于是便诞生了很多类型的软件,比如360网盘,百度网盘,云盘之类的.所以说,文件上传和下载的功能是现在非常主流的一个功能,应用十分广泛. 那 ...
- 第七篇Scrum冲刺博客
第七篇Scrum冲刺博客 一.站立式会议 提供当天站立式会议照片一张 二.每个人的工作 成员 已完成工作 明天计划完成的工作 遇到的困难 林剑峰 加入搜索页面 无 陆君健 校园卡匹配功能的实现 无 石 ...
- 团队作业第3周——需求改进&系统设计
目录 团队作业第3周--需求改进&系统设计 1.需求&原型改进 2.系统设计 3.Alpha任务分配计划 4.测试计划 1 测试术语 4.2 有关项目人员组成 2 任务概述 3.测试策 ...
- SpringBoot使用Hibernate,实现自动创建数据库表【博客数据库设计】
我们准备设计博客,那就要设计数据库. 我们可以使用Hibernate来自动生成数据库. 博客数据库的结构: 实体类: 博客 Blog 博客分类 Type 博客标签 Tag 博客评论 Comment 用 ...
- Centos7部署ejforum论坛(Java+tomcat+mysql)
前面搭建Java环境和tomcat环境. 下面进行实战,搭建ejforum论坛 ejforum论坛源码:https://www.lanzous.com/i45rcoh Centos7安装MySQL数据 ...
- Delphi-基础(运算符)
一.运算符 1.变量 2.运算符** 3.表达式 1.变量 变量解释:编程中最小的存储单元(空间),它的空间大小由它在声明时的数据类型决定. 1.1.声明 : 定义一个变量,告诉Delphi一个名字的 ...
- @RequestMapping和@GetMapping和PostMapping
简介 - @GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写.该注解将HTTP Get 映射到 特定的处理方法上. - ...