Python爬虫類は大量にウェブページのピクチャーを登って現地の実現コードに保存します。


実際には、一般的なデータを登るのと同じですが、私たちはデータを直接登って戻ってきます。画像を取り込むには、バイナリデータに処理して、画像形式(.jpg、.pngなど)のデータテキストに保存する必要があります。
今はurlを貼っていますhttps://img.ivsky.com/img/tupian/t/201008/05/bianxingjingang-001.jpg
上のurlをコピーして直接ブラウザで開けてください。次のような内容が見られます。
在这里插入图片描述
これはウェブページを通じてアクセスしたこのウェブサイトの写真です。そこで、私達は直接にrequestsモジュールを利用して、この写真の要求を行うことができます。このウェブサイトは私達にこの写真のデータを返します。私達は更にデータを地元のファイルに書き込むだけでいいです。比較的簡単です。

import requests
headers={
  'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400'}
url='https://img.ivsky.com/img/tupian/t/201008/05/bianxingjingang-001.jpg'
re=requests.get(url,headers=headers)
print(re.status_code)#      ,  200    
path='test.jpg'#      
with open(path, 'wb') as f:#         ,wb       
      for chunk in re.iter_content(chunk_size=128):
        f.write(chunk)
そしてtest.jpg画像を入手しました。以下の通りです。
在这里插入图片描述
クリックして開いて下記の通りです。
在这里插入图片描述
ダウンロードの成功は辛いです。簡単でしょう。
今は大量ダウンロードを分析して、上のコードを一つの関数に包装して、各画像に対して、単独の名前で、単独の画像ファイルを要求して、下記のコードがあります。

import requests
def get_pictures(url,path):
  headers={
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400'} 
  re=requests.get(url,headers=headers)
  print(re.status_code)#      ,  200    
  with open(path, 'wb') as f:#         ,wb       
        for chunk in re.iter_content(chunk_size=128):
          f.write(chunk)
url='https://img.ivsky.com/img/tupian/t/201008/05/bianxingjingang-001.jpg'
path='test.jpg'#      
get_pictures(url,path)
今は大量に画像をダウンロードし、つまりロットで画像を獲得するurlを実現するためには、ウェブページのコード構造を分析し、元のウェブサイトhttps://www.ivsky.com/tupian/bianxingjingang_v 622/を開いて、次のような写真が見られます。
在这里插入图片描述
そこで、私たちはそれぞれのページに表示されているすべての画像のurlを得る必要があります。そこで、我々は再度このページの内容をレクェスモジュールで返します。

import requests
headers={
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400'}
url='https://www.ivsky.com/tupian/bianxingjingang_v622/'
re=requests.get(url,headers=headers)
print(re.text)
実行は現在のページのウェブページの構造内容を返します。そこで、画像に関するつまりjpgや.pngなどの画像フォーマットのメモを見つけました。以下の通りです。
在这里插入图片描述
上の輪から出てくる**//img.ivsky.com/tupian/t/201008/05/bianxingjinggang-0117 jpg*は私達の写真urlですが、前にhttpsを追加する必要があります。そこで完成したurlはhttps://img.ivsky.com/img/tupian/t/201008/05/bianxingjingang-017.jpgです。
この構造は分かりました。今はこれを取り出して、簡単な解析式を書きます。

import requests
headers={
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400'}
url='https://www.ivsky.com/tupian/bianxingjingang_v622/'
re=requests.get(url,headers=headers)
def get_pictures_urls(text):
  st='img src="'
  m=len(st)
  i=0
  n=len(text)
  urls=[]#  url
  while i<n:
    if text[i:i+m]==st:
      url=''
      for j in range(i+m,n):
        if text[j]=='"':
          i=j
          urls.append(url)
          break
        url+=text[j]
    i+=1
  return urls
urls=get_pictures_urls(re.text)
for url in urls:
  print(url)
印刷結果は以下の通りです。
在这里插入图片描述
urlを手に入れました。最初のget_に直接入れます。ピクチャー関数では、ピクチャーをよじ登るのが辛いです。

import requests
def get_pictures(url,path):
  headers={
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400'}
  re=requests.get(url,headers=headers)
  print(re.status_code)#      ,  200    
  with open(path, 'wb') as f:#         ,wb       
        for chunk in re.iter_content(chunk_size=128):
          f.write(chunk)
def get_pictures_urls(text):
  st='img src="'
  m=len(st)
  i=0
  n=len(text)
  urls=[]#  url
  while i<n:
    if text[i:i+m]==st:
      url=''
      for j in range(i+m,n):
        if text[j]=='"':
          i=j
          urls.append(url)
          break
        url+=text[j]
    i+=1
  return urls

headers={
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400'}
url='https://www.ivsky.com/tupian/bianxingjingang_v622/'
re=requests.get(url,headers=headers)
urls=get_pictures_urls(re.text)#           url
for i in range(len(urls)):#      
  url='https:'+urls[i]
  path='    '+str(i)+'.jpg'
  get_pictures(url,path)
結果は以下の通りです
在这里插入图片描述
それから、辛いものを完成しました。ここではただ簡単にロットを紹介して、写真を取る過程を紹介します。具体的なウェブサイトは具体的な分析が必要です。だから、本稿ではできるだけ詳しく大量に写真を取りに行く過程を展示しました。
ここで、Python爬虫類についてウェブページの画像をまとめて保存します。これについて紹介します。Python爬虫類の写真を現地に保存します。以前の文章を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。