50行のPythonコードだけでネットの美人の高清のピクチャーを登り取ります。
一、技術コース
requests:ホームページでお願いします。
Beautiful Soup:解析)ページ
re:正規表現で、htmlページ情報を抽出します。
os:ファイルを保存する
通常の操作では、ウェブページ情報の固定フォーマットを取得し、返信した文字列フォーマットのウェブページの内容を、headersパラメータは人為的な操作をシミュレートすることができます。
画像エリアを右クリックして、「審査要素」を選択して、現在のウェブページの画像の詳細リンクを見ることができます。喜んでコピーしたリンクを開いて保存します。効果を見てみたら、一枚の写真は60 kbしかないです。これはサムネイルです。分かりません。思い切って捨てます。
仕方がないです。詳細ページのリンクを見つけてから単独で登ります。
空白の右ボタン、「ページのソースコードを確認する」、先ほどコピーしたサムネイルリンクをコピーして検索し、すべての画像の詳細ページにリンクしてdivタグがあり、class=「list」が唯一なので、Beautiful Soupを使ってこのラベルを抽出することができます。また、写真の詳細ページはherf=後方にリンクされていることを発見しました。一部の無効リンクもdivタグの中にあることに気づきました。それらの違いを見てみると、無効リンクは「https」という文字が存在しています。したがって、コードの中にはこの排出無効リンクに基づいて、第4条の関数コードに対応します。“元素を審査します”、リンクのダウンロードのピクチャーを複製して1 M近くになって、表示は高清のピクチャーで、この段階まで私達はダウンロードの保存関数を呼び出してすぐピクチャーを保存することができます。
四、ウェブページの詳細ページのリンク取得
第3条の分析の状況によって、主な目標は各ページの各画像の詳細ページをリンクして登り取ることであり、後続の高精細画像の登用に準備することであり、ここで直接関数def getUrlList(url)を定義する。
同じように、第4条において各ピクチャの詳細ページのリンクを取得した後、開いて、右クリックの画像「審査要素」をクリックし、リンクをコピーすれば素早く位置決めし、画像を保存することができます。
前の本体フレームの構築が終わったら、プログラム全体を前置化して、直接コードします。
ここでの1ページ目のリンクはhttp://www.netbian.com/meinv/です。
2ページ目のリンクはhttp://www.netbian.com/meinv/index_2.httmです。
そして、次のページは2ページ目の上で最後の数字だけを変えるので、コードを書く時は1ページ目と次のページのリンクを区別して、それぞれ処理します。また、main()関数ではユーザー定義のページを登る機能も追加されました。詳細はコードを参照してください。
最後にメールを呼び出して、よじ登る必要があるページ数を入力すれば、登り始めることができます。完全なコードは下記の通りです。
requests:ホームページでお願いします。
Beautiful Soup:解析)ページ
re:正規表現で、htmlページ情報を抽出します。
os:ファイルを保存する
import re
import requests
import os
from bs4 import BeautifulSoup
二、ホームページ情報の取得通常の操作では、ウェブページ情報の固定フォーマットを取得し、返信した文字列フォーマットのウェブページの内容を、headersパラメータは人為的な操作をシミュレートすることができます。
def getHtml(url): # , html
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
} #
try:
r = requests.get(url, headers=headers)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
print(' ')
三、ウェブサイトの登用分析画像エリアを右クリックして、「審査要素」を選択して、現在のウェブページの画像の詳細リンクを見ることができます。喜んでコピーしたリンクを開いて保存します。効果を見てみたら、一枚の写真は60 kbしかないです。これはサムネイルです。分かりません。思い切って捨てます。
仕方がないです。詳細ページのリンクを見つけてから単独で登ります。
空白の右ボタン、「ページのソースコードを確認する」、先ほどコピーしたサムネイルリンクをコピーして検索し、すべての画像の詳細ページにリンクしてdivタグがあり、class=「list」が唯一なので、Beautiful Soupを使ってこのラベルを抽出することができます。また、写真の詳細ページはherf=後方にリンクされていることを発見しました。一部の無効リンクもdivタグの中にあることに気づきました。それらの違いを見てみると、無効リンクは「https」という文字が存在しています。したがって、コードの中にはこの排出無効リンクに基づいて、第4条の関数コードに対応します。“元素を審査します”、リンクのダウンロードのピクチャーを複製して1 M近くになって、表示は高清のピクチャーで、この段階まで私達はダウンロードの保存関数を呼び出してすぐピクチャーを保存することができます。
四、ウェブページの詳細ページのリンク取得
第3条の分析の状況によって、主な目標は各ページの各画像の詳細ページをリンクして登り取ることであり、後続の高精細画像の登用に準備することであり、ここで直接関数def getUrlList(url)を定義する。
def getUrlList(url): #
url_list = [] # url,
demo = getHtml(url)
soup = BeautifulSoup(demo,'html.parser')
sp = soup.find_all('div', class_="list") #class='list' , , div ; , class, python class( ) , _
nls = re.findall(r'a href="(.*?)" rel="external nofollow" rel="external nofollow" ', str(sp)) #
for i in nls:
if 'https' in i: # 'https' , ( 3 )
continue
url_list.append('http://www.netbian.com' + i) # ,
return url_list
五、写真のリンクに従って画像を保存する同じように、第4条において各ピクチャの詳細ページのリンクを取得した後、開いて、右クリックの画像「審査要素」をクリックし、リンクをコピーすれば素早く位置決めし、画像を保存することができます。
def fillPic(url,page):
pic_url = getUrlList(url) # ,
path = './ ' #
for p in range(len(pic_url)):
pic = getHtml(pic_url[p])
soup = BeautifulSoup(pic, 'html.parser')
psoup = soup.find('div', class_="pic") #class_="pic" , div ; , class, python class( ) , _
picUrl = re.findall(r'src="(.*?)"', str(psoup))[0] # , , ( , )
pic = requests.get(picUrl).content # , ( , , )
image_name =' ' + ' {} '.format(page) + str(p+1) + '.jpg' #
image_path = path + '/' + image_name #
with open(image_path, 'wb') as f: #
f.write(pic)
print(image_name, ' !!!')
六、main関数前の本体フレームの構築が終わったら、プログラム全体を前置化して、直接コードします。
ここでの1ページ目のリンクはhttp://www.netbian.com/meinv/です。
2ページ目のリンクはhttp://www.netbian.com/meinv/index_2.httmです。
そして、次のページは2ページ目の上で最後の数字だけを変えるので、コードを書く時は1ページ目と次のページのリンクを区別して、それぞれ処理します。また、main()関数ではユーザー定義のページを登る機能も追加されました。詳細はコードを参照してください。
def main():
n = input(' :')
url = 'http://www.netbian.com/meinv/' # , , ,
if not os.path.exists('./ '): # ,
os.mkdir('./ /')
page = 1
fillPic(url, page) # , 1 ,
if int(n) >= 2: # 2
ls = list(range(2, 1 + int(n)))
url = 'http://www.netbian.com/meinv/'
for i in ls: #
page = str(i)
url_page = 'http://www.netbian.com/meinv/'
url_page += 'index_' + page + '.htm' # 2
fillPic(url, page) # fillPic()
七、完全コード最後にメールを呼び出して、よじ登る必要があるページ数を入力すれば、登り始めることができます。完全なコードは下記の通りです。
import re
import requests
import os
from bs4 import BeautifulSoup
def getHtml(url): # , html
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
} #
try:
r = requests.get(url, headers=headers)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
print(' ')
def getUrlList(url): #
url_list = [] # url,
demo = getHtml(url)
soup = BeautifulSoup(demo,'html.parser')
sp = soup.find_all('div', class_="list") #class='list' , , div ; , class, python class( ) , _
nls = re.findall(r'a href="(.*?)" rel="external nofollow" rel="external nofollow" ', str(sp)) #
for i in nls:
if 'https' in i: # 'https' , ( 3 )
continue
url_list.append('http://www.netbian.com' + i) # ,
return url_list
def fillPic(url,page):
pic_url = getUrlList(url) # ,
path = './ ' #
for p in range(len(pic_url)):
pic = getHtml(pic_url[p])
soup = BeautifulSoup(pic, 'html.parser')
psoup = soup.find('div', class_="pic") #class_="pic" , div ; , class, python class( ) , _
picUrl = re.findall(r'src="(.*?)"', str(psoup))[0] # , , ( , )
pic = requests.get(picUrl).content # , ( , , )
image_name =' ' + ' {} '.format(page) + str(p+1) + '.jpg' #
image_path = path + '/' + image_name #
with open(image_path, 'wb') as f: #
f.write(pic)
print(image_name, ' !!!')
def main():
n = input(' :')
url = 'http://www.netbian.com/meinv/' # , , ,
if not os.path.exists('./ '): # ,
os.mkdir('./ /')
page = 1
fillPic(url, page) # , 1 ,
if int(n) >= 2: # 2
ls = list(range(2, 1 + int(n)))
url = 'http://www.netbian.com/meinv/'
for i in ls: #
page = str(i)
url_page = 'http://www.netbian.com/meinv/'
url_page += 'index_' + page + '.htm' # 2
fillPic(url_page, page) # fillPic()
main()
以上で、50行のPythonコードだけを使ってネットの美人の高清のピクチャーの文章を登ってここまで紹介しました。Pythonはピクチャーの内容に関してもっと多いです。私達の以前の文章を検索してください。または次の関連記事を引き続きご覧ください。これからもよろしくお願いします。