最近项目需要将批量链接中的pdf文档爬下来处理,根据以下步骤完成了任务:
- 将批量下载链接copy到text中,每行1个链接;
- 再读txt文档构造url_list列表,利用readlines返回以行为单位的列表;
- 利用str的rstrip方法,删除 string 字符串末尾的指定字符(默认为空格);
- 调用getFile函数:
- 通过指定分隔符‘/’对字符串进行切片,取list的最后一列即链接文档名作为下载文件名。
- 调用urlopen,调用read、write方法完成下载
参考资料:
- https://blog.csdn.net/zhrq95/article/details/79300411
- https://blog.csdn.net/yllifesong/article/details/81044619
1 import urllib.request
2 import os
3
4 def getFile(url):
5 file_name = url.split('/')[-1]
6 u = urllib.request.urlopen(url)
7 f = open(file_name, 'wb')
8 block_sz = 8192
9 while True:
10 buffer = u.read(block_sz)
11 if not buffer:
12 break
13 f.write(buffer)
14 f.close()
15 print("Sucessful to download" + " " + file_name)
16
17 os.chdir(os.path.join(os.getcwd(), 'pdf_download'))
18
19 f=open('E:/VGID_Text/url_list.txt')
20 url_list=f.readlines()
21 url_lst=[]
22 for line in url_list:
23 line=line.rstrip("\n")
24 getFile(line)