Pythonは簡単な爬虫機能を実現し、ローカルに保存する
1234 ワード
昨日仕事が終わってから急に爬虫類がホームページの上のものを捕まえることを書こうとした.1時間かけてpythonの基礎文法を簡単に勉強し、ネット上の例を参照して自分で爬虫類を書いた.
テストした結果、基本的な機能は実現できます.正規表現に慣れていないため、正規表現がどこにマッチするかに多くの時間がかかります.だからやはり少し時間がかかりました.
注意:上記のプログラムはpython 3.5に基づいています.python 3とpython 2にはまだ違いがあります.私は基礎文法を読み始めたばかりの頃、いくつかの穴に落ちた.
#coding=utf-8
import urllib.request
import re
import os
'''
Urllib web , www ftp
urlopen url
read Url
'''
def getHtml(url):
page = urllib.request.urlopen(url);
html = page.read();
return html;
def getImg(html):
imglist = re.findall('img src="(http.*?)"',html)
return imglist
html = getHtml("https://www.zhihu.com/question/34378366").decode("utf-8");
imagesUrl = getImg(html);
if os.path.exists("D:/imags") == False:
os.mkdir("D:/imags");
count = 0;
for url in imagesUrl:
print(url)
if(url.find('.') != -1):
name = url[url.find('.',len(url) - 5):];
bytes = urllib.request.urlopen(url);
f = open("D:/imags/"+str(count)+name, 'wb');
f.write(bytes.read());
f.flush();
f.close();
count+=1;
テストした結果、基本的な機能は実現できます.正規表現に慣れていないため、正規表現がどこにマッチするかに多くの時間がかかります.だからやはり少し時間がかかりました.
注意:上記のプログラムはpython 3.5に基づいています.python 3とpython 2にはまだ違いがあります.私は基礎文法を読み始めたばかりの頃、いくつかの穴に落ちた.