python指令碼爬取字型檔案的實現方法

2021-10-01 13:37:11 字數 3558 閱讀 8771

這篇文章主要給大家介紹了利用python指令碼爬取字型檔案的實現方法,文中分享了爬取兩個不同**的示例**,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。

前言實現方法

#coding:utf-8

import urllib2,cookielib,sys,re,os,zipfile

import numpy as np

#**登陸

html=html.replace('\n',' ')#將所有的回車去掉,因為正規表示式是單行匹配。。。。。。

urls=re.findall(r'(.*?)',html)

for i in urls:

url,inner=i

if not re.findall(r'download ',inner)== and re.findall(r'offsite',inner)== and url not in items:

for i in xrange(15):

host=''+str(i*50)+'?filter%5bdownload%5d=local'

search(host)

if not os.path.exists('ttf'):

os.mkdir('ttf')

os.chdir('ttf')

def unzip(rawfile,outputdir):

if zipfile.is_zipfile(rawfile):

print 'yes'

fz=zipfile.zipfile(rawfile,'r')

for files in fz.namelist():

print(files) #列印zip歸檔中目錄

fz.extract(files,outputdir)#解壓縮檔案

else:

print 'no'

for i in items:

print i

request=urllib2.request(''+i)

response=urllib2.urlopen(request)

html=response.read()

name=i.split('/')[-1]+'.zip'

f=open(name,'w')

f.write(html)

f.close()#檔案記得關閉,否則下面unzip會出錯

unzip(name,'./')

os.remove(name)

os.listdir(os.getcwd())

os.chdir('../')

files=os.listdir('ttf/')

for i in files:#刪除無用檔案

if not (i.split('.')[-1]=='ttf' or i.split('.')[-1]=='otf'):

if os.path.isdir(i):

os.removedirs('ttf/'+i)

else:

os.remove('ttf/'+i)

print len(os.listdir('ttf/'))

搞到了2000+個字型,種類也挺多的,蠻好。

print(files) #列印zip歸檔中目錄

fz.extract(files,outputdir)

else:

print 'no'

for i in items:

print i

request=urllib2.request(i)

response=urllib2.urlopen(request)

html=response.read()

name=i.split('=')[-1]+'.zip'

f=open(name,'w')

f.write(html)

f.close()

unzip(name,'./')

os.remove(name)

print os.listdir(os.getcwd())

for root ,dire,fis in os.walk('./'):#遞迴遍歷資料夾

for i in fis:

if not (i.split('.')[-1]=='ttf' or i.split('.')[-1]=='otf'):

os.remove(root+i)

print i

for i in os.listdir('./'):

if os.path.isdir(i):

os.rmdir(i)

os.chdir('../')總體操作跟之前的差不多,跑了幾十分鐘下了4000多的字型。

總結

Python實現的爬取豆瓣電影資訊功能案例

本案例的任務為,爬取豆瓣電影top250的電影資訊 包括序號 電影名稱 導演和主演 評分以及經典台詞 並將資訊作為字典形式儲存進txt檔案。這裡只用到requests庫,沒有用到beautifulsoup庫 step1 首先獲取每一頁的源 用requests.get函式獲取,為了防止請求錯誤,使用t...

python實現單詞的簡單爬取

因為不需要登入之類的操作,可以說,這是對爬蟲初學者來說最簡單最基礎的乙個案例了,由於之後要用到這裡就簡單學習記錄一下。爬取目標 金山詞霸的四六級詞彙 我們可以很容易看到四個選項,六級就不列出來了。很容易拿到,且規律這麼明顯,所以說很容易。我們每次爬取單詞的時候僅需對這四個詞庫隨機選取即可。我們選擇四...

Window CMD 指令碼中模擬陣列的實現方法

cmd指令碼中只有變數的概念,沒有陣列的概念,為了實現類似陣列的功能,需要進行變數巢狀使用,並使用for命令將輸出轉換為內部變數值。set services0 openldap slapd set services1 mongodb set services2 solr5 set services3...