今天遇到一个任务,给一个excel文件,里面有500多个pdf文件的下载链接,需要把这些文件全部下载下来。我知道用python爬虫可以批量下载,不过之前没有接触过。今天下午找了下资料,终于成功搞定,免去了手动下载的烦恼。我参考了以下资料,这对我很有帮助: 1、廖雪峰python教程 2、用Python 爬虫批量下载PDF文档 http://blog.csdn.net/u012705410/article/details/47708031 3、用Python 爬虫爬取贴吧图片 http://blog.csdn.net/u012705410/article/details/47685417 4、Python爬虫学习系列教程 http://cuiqingcai.com/1052.html
由于我搭建的python版本是3.5 ,我学习了上面列举的参考文献2中的代码,这里的版本为2.7,有些语法已经不适用了。我修正了部分语法,如下:
import urllib.request
import re
import os
def getHtml (url) :
page = urllib.request.urlopen(url)
html = page.read()
page.close()
return html
def getUrl (html) :
reg = r'(?:href|HREF)="?((?:http://)?.+?\.pdf)'
url_re = re.compile(reg)
url_lst = url_re.findall(html.decode('gb2312' ))
return (url_lst)
def getFile (url) :
file_name = url.split('/' )[-1 ]
u = urllib.request.urlopen(url)
f = open(file_name, 'wb' )
block_sz = 8192
while True :
buffer = u.read(block_sz)
if not buffer:
break
f.write(buffer)
f.close()
print ("Sucessful to download" + " " + file_name)
root_url = 'http://www.math.pku.edu.cn/teachers/lidf/docs/textrick/'
raw_url = 'http://www.math.pku.edu.cn/teachers/lidf/docs/textrick/index.htm'
html = getHtml(raw_url)
url_lst = getUrl(html)
os.mkdir('ldf_download' )
os.chdir(os.path.join(os.getcwd(), 'ldf_download' ))
for url in url_lst[:]:
url = root_url + url
getFile(url)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
上面这个例子是个很好的模板。当然,上面的还不适用于我的情况,我的做法是:先把地址写到了html文件中,然后对正则匹配部分做了些修改,我需要匹配的地址都是这样的,http://pm.zjsti.gov.cn/tempublicfiles/G176200001/G176200001.pdf
。改进后的代码如下:
import urllib.request
import re
import os
def getHtml (url) :
page = urllib.request.urlopen(url)
html = page.read()
page.close()
return html
def getUrl (html) :
reg = r'([A-Z]\d+)'
url_re = re.compile(reg)
url_lst = url_re.findall(html.decode('UTF-8' ))
return (url_lst)
def getFile (url) :
file_name = url.split('/' )[-1 ]
u = urllib.request.urlopen(url)
f = open(file_name, 'wb' )
block_sz = 8192
while True :
buffer = u.read(block_sz)
if not buffer:
break
f.write(buffer)
f.close()
print ("Sucessful to download" + " " + file_name)
root_url = 'http://pm.zjsti.gov.cn/tempublicfiles/'
raw_url = 'file:///E:/ZjuTH/Documents/pythonCode/pythontest.html'
html = getHtml(raw_url)
url_lst = getUrl(html)
os.mkdir('pdf_download' )
os.chdir(os.path.join(os.getcwd(), 'pdf_download' ))
for url in url_lst[:]:
url = root_url + url+'/' +url+'.pdf'
getFile(url)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
这就轻松搞定啦。
文章标签: python 爬虫
个人分类: python
相关热词: 和python python和 python【】 python下 python的与
上一篇 前端面试题4
下一篇 重绘和重排
(".MathJax").remove(); MathJax.Hub.Config({ "HTML-CSS": { linebreaks: { automatic: true, width: "94%container" }, imageFont: null }, tex2jax: { preview: "none" }, mml2jax: { preview: 'none' } }); (function(){ var btnReadmore = (".MathJax").remove(); MathJax.Hub.Config({ "HTML-CSS": { linebreaks: { automatic: true, width: "94%container" }, imageFont: null }, tex2jax: { preview: "none" }, mml2jax: { preview: 'none' } }); (function(){ var btnReadmore = ("#btn-readmore"); if(btnReadmore.length>0){ var winH =
( w i n d o w ) . h e i g h t ( ) ; v a r a r t i c l e B o x = ( w i n d o w ) . h e i g h t ( ) ; v a r a r t i c l e B o x = ("div.article_content"); var artH = articleBox.height(); if(artH > winH*2){ articleBox.css({ 'height':winH*2+'px', 'overflow':'hidden' }) btnReadmore.click(function(){ articleBox.removeAttr("style"); $(this).parent().remove(); }) }else{ btnReadmore.parent().remove(); } } })()
利用Python 下载文件
利用Python下载文件也是十分方便的:小文件下载下载小文件的话考虑的因素比较少,给了链接直接下载就好了:import requests image_url = “https://www.python…
sinat_36246371
2017-03-16 16:32:47
阅读数:16945
# 爬取大学nlp课程的教学pdf文档课件 http://ccl.pku.edu.cn/alcourse/nlp/ import urllib.request i…
jonathanzh
2017-11-25 11:43:13
阅读数:2835
Python 核心编程(第三版)-PDF 高清晰完整中文版-CSDN下载
python核心编程第三版中文版PDF,python进阶教程,包含正则,网络编程,数据库编程,GUI,Django,爬虫,云计算假设等内容,实乃居家旅行,疯狂写码,必备良书!!!…
流畅的python (中文)高清完整版PDF -CSDN下载
流畅的python 高清完整版PDF 综合评分:5 收藏(5)评论(11)举报 所需: 20 积分/C币 下载个数: 1259 开通VIP 立即下载 评论共有11条 梦在心中 2018-03-04 …
女性得了静脉曲张变成蚯蚓腿怎么办?用这方法 腾高 · 顶新
var width = $("div.recommend-box").outerWidth() - 48; NEWS_FEED({ w: width, h : 90, showid : 'GNKXx7', placeholderId: "ad1", inject : 'define', define : { imagePosition : 'left', imageBorderRadius : 0, imageWidth: 120, imageHeight: 90, imageFill : 'clip', displayImage : true, displayTitle : true, titleFontSize: 20, titleFontColor: '#333', titleFontFamily : 'Microsoft Yahei', titleFontWeight: 'bold', titlePaddingTop : 0, titlePaddingRight : 0, titlePaddingBottom : 10, titlePaddingLeft : 16, displayDesc : true, descFontSize: 14, descPaddingLeft: 14, descFontColor: '#6b6b6b', descFontFamily : 'Microsoft Yahei', paddingTop : 0, paddingRight : 0, paddingBottom : 0, paddingLeft : 0, backgroundColor: '#fff', hoverColor: '#ca0c16' } })
Python 爬虫 下载PDF 文件
requests库 def get_file_content(date,files): time = date[0:4] + date[5:7] file_name = file…
sinat_38944746
2018-01-22 10:24:07
阅读数:357
python 从入门到实践(中文)pdf 电子书-CSDN下载
2017-11-22 上传大小:4.91MB pythonpdf 一本不错的python入门书本书是一本针对所有层次的Python 读者而作的Python 入门书。全书分两部分:第一部分介绍用Python …
利用Python 下载文件 - CSDN博客
如果是小文件的话,一次性下载就OK了,但是如果文件比较大的话,那么下载下来的文件….pdf” r = requests.get(file_url, stream=True) with open(“python.pdf”…
Python 批量下载 文件
Python 批量下载文件 模仿下载工具 突破文件数限制
LINZHENYU1996
2017-09-14 00:17:20
阅读数:528
python 批量下载 图片的三种方法
一是用微软提供的扩展库win32com来操作IE: win32com可以获得类似js里面的document对象,但貌似是只读的(文档都没找到)。 二是用selenium的webdriver: …
lk8217
2017-04-20 18:14:27
阅读数:939
流畅的python 2015 PDF -CSDN下载
举报人: 被举报人: qq_15824553 举报的资源分: 5 *类型: *详细原因: 取 消 提 交 流畅的python2015 PDF 5积分 立即下载 …
Python 高手之路,中文高清完整版PDF -CSDN下载
Python 高手之路 pdf 高清带书签 不是文字版,但是十分清晰,完整版, Python 高手之路 pdf 高清带书签这不是一本常规意义上Python的入门书。这本书中没有Python…
python 实现批量下载
1. response >>> print response.text Index of /xx_alpha/6.10.10/ Index of /xx_alpha/6.10.10/ …
u011279649
2016-10-11 18:24:11
阅读数:741
老中医说:男人多吃它,性生活时间延长5倍 优涅星娜样 · 顶新
40本python 的图书打包下载-CSDN下载
Python and Pygame.pdf matplotlib入门教程.pdf OReill - Python Cookbook.chm OReill - Python Programming on Win32.chm pil-handbook.pdf Programming Python …
python 书籍资料打包-全部PDF -CSDN下载
压缩包包含内容:《Python_3.4.1官方教程中文版.pdf》,《python-3.6.3-docs-pdf-letter.zip》,《python核心编程.pdf》,《python入门经典-图灵图书.pdf》,《笨…
var width = $("div.recommend-box").outerWidth() - 48; NEWS_FEED({ w: width, h: 90, showid: 'Afihld', placeholderId: 'a_d_feed_0', inject: 'define', define: { imagePosition: 'left', imageBorderRadius: 0, imageWidth: 120, imageHeight: 90, imageFill: 'clip', displayImage: true, displayTitle: true, titleFontSize: 20, titleFontColor: '#333', titleFontFamily: 'Microsoft Yahei', titleFontWeight: 'bold', titlePaddingTop: 0, titlePaddingRight: 0, titlePaddingBottom: 10, titlePaddingLeft: 16, displayDesc: true, descFontSize: 14, descPaddingLeft: 14, descFontColor: '#6b6b6b', descFontFamily: 'Microsoft Yahei', paddingTop: 0, paddingRight: 0, paddingBottom: 0, paddingLeft: 0, backgroundColor: '#fff', hoverColor: '#ca0c16' } })
Python 批量下载 apk
Python 3.6 主要库: openpyxl:对excel文件进行读、写; requests:下载文件 从excel中取出下载链接,通过requests.head(url)得到头信息,过滤…
Perfect_5b
2018-01-05 15:21:29
阅读数:322
如何解决Python 的文件批量下载 问题
import urllib.request urllib.request.urlretrieve(url=r’http://www.cnindex.com.cn/syl/2016-03-24/c…
xlgray2012
2016-03-24 19:45:23
阅读数:198
《深度学习Deep Learning with Python 2017》高清完整PDF 版-CSDN…
Jason Brownlee - Deep Learning with Python 高清PDF+Code 立即下载 上传者: 向来痴SAS 时间: 2017-11-09 综合评分: 0 积分/C币:5 《深度学习Deep …
python 书籍资料打包-全部PDF -CSDN下载
压缩包包含内容:《Python_3.4.1官方教程中文版.pdf》,《python-3.6.3-docs-pdf-letter.zip》,《python核心编程.pdf》,《python入门经典-图灵图书.pdf》,《笨…
python 批量下载 文件
主要功能:登陆一个需要权限的页面,对页面进行解析下载所有列表下的文件到本地目录。#!/usr/bin/python2.7
#encoding=utf-8 import urllib2 from bs…
heymysweetheart
2016-04-26 18:53:46
阅读数:962
python 爬虫 批量下载 apk文件
2018年04月21日 2KB 下载
[Python ]_[批量下载 网站文件]
自己写脚本批量下载电子书
infoworld
2013-07-15 23:52:41
阅读数:5472
用Python 爬虫 批量下载 PDF 文档
之前稍微看了用Python爬虫爬取贴吧图片的文章,发现用Python爬虫确实方便。一个非常有用的东西便是自动下载网上的PDF文档。下面就来举两个例子,程序主要参考自这篇文章:http://ddswhu…
u012705410
2015-08-16 22:20:15
阅读数:24169
批量下载 所有镜像(.sh)
#!/bin/sh# This script will update all local images# See: https://github.com/yeasy/docker_practice/b…
Coder_501
2018-02-23 13:36:42
阅读数:103
scrolling="no">
python 下载文件的三种方法
python下载文件的三种方法 Python开发中时长遇到要下载文件的情况,最常用的方法就是通过Http利用urllib或者urllib2模块。当然你也可以利用ftplib从ftp站点下载文件。…
AaronWu2012
2016-09-17 20:35:48
阅读数:9133
Python 视频批量下载
这里就拿最近很火的抖音视频为例,利用API来实现用户抖音视频的批量下载 主要用到的模块有 1、requests模块; 2、bs4模块; import requests impo…
y1175626605
2018-03-27 12:28:03
阅读数:872
python 实现网站内部视频批量下载
一、背景 在有些时候,当我们突然在某个网站看到一个特别好的视频(比如高清MV),想把它下载下来,但突然发现,网站并没有下载链接;这个时候我们一般有几种解决办法: 使用网页插件(比如火狐浏览器的net…
SoundSlow
2017-04-08 15:41:16
阅读数:674
python 3 批量下载 网页所有图片
这是一段代码
u013894427
2016-07-11 15:35:56
阅读数:1699
Python 批量下载 小工具
2013年08月05日 1KB 下载
用Python 和selenium下载pdf 文件
今天要从国外的网站上下载一个学术会议的几百篇pdf文献,具体网址为https://www.onepetro.org/conferences/SPE/17ADIP/all?start=0&…
carlwu
2018-04-17 17:20:27
阅读数:276
【Python 】Python 的urllib模块、urllib2模块进行网页下载文件
由于需要从某个网页上下载一些PDF文件,但是需要下载的PDF文件有几百个,所以不可能用人工点击来下载。正好Python有相关的模块,所以写了个程序来进行PDF文件的下载,顺便熟悉了Python的url…
xiaoguaihai
2014-06-30 18:36:49
阅读数:29052
个人资料
等级:
访问:
13万+
积分:
1677
排名:
3万+
勋章:
授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
最新文章
个人分类
css 3篇
js 26篇
Java 8篇
android 7篇
数据库 3篇
nodejs 3篇
gulp 1篇
matlab 4篇
word 1篇
webstorm 1篇
markdown语法 2篇
前端面试 8篇
编程题 8篇
python 1篇
展开
归档
2017年10月 1篇
2017年9月 5篇
2017年8月 9篇
2017年7月 20篇
2017年4月 1篇
2017年3月 9篇
2017年2月 1篇
2017年1月 2篇
2016年12月 6篇
2016年7月 1篇
2016年6月 5篇
2016年3月 2篇
2015年10月 6篇
2015年9月 2篇
2015年8月 4篇
2015年5月 1篇
展开
热门文章
npm全局模块卸载及默认安装目录修改 阅读量:38920
android 图片点击一下就放大到全屏,再点一下就回到原界面 阅读量:19340
用python爬虫批量下载pdf 阅读量:12357
“返回顶部”按钮的实现 阅读量:6878
matlab数据导入——从Excel导入 阅读量:6169
("a.flexible-btn").click(function(){ ("a.flexible-btn").click(function(){ (this).parents('div.aside-box').removeClass('flexible-box'); $(this).remove(); })