Pythonを使ってお姉さんの写真を登ります。(beautiful soup法)
4985 ワード
Pythonはたくさんの強大な倉庫が爬虫類に用いられています。例えば、beautiful soup、requestsなどです。https://www.xiurenji.cc/XiuRen/例として(慎重に!!)、ネットで写真を取るための一般的な手順を説明します。
なぜこのサイトを選んだのですか?実はウェブサイトの内容と関係がありません。主に2つの技術面の原因があります。このサイトのページ構造は規則的で、初心者の爬虫類に対する技術意識を強化するためです。②このサイトにはアンチ爬虫類の仕組みがなく、安心して爬虫類を使うことができます。
第三者倉庫需要 beautiful soup レクリエーション ステップ
ウェブサイトを開き、異なるページをクリックします。
発見したトップページはhttps://www.xiurenji.cc/XiuRen/を選択します。2ページ目はhttps://www.xiurenji.cc/XiuRen/index2.htmlを選択します。第三ページ第四ページはこれを類推します。爬虫類コードの普遍性のために、二ページ目以降に構造urlを行ってもいいです。
カバー画像を選択して、チェックをクリックします。
画像の情報は全部
右クリックして、「チェック」をクリックします。
すべてのピクチャ情報は
ここでPythonさんがお姉さんの写真を掲載した文章を紹介します。Pythonさんがお姉さんの写真を撮った内容は以前の文章を検索したり、下の関連記事を見たりしてください。これからもよろしくお願いします。
なぜこのサイトを選んだのですか?実はウェブサイトの内容と関係がありません。主に2つの技術面の原因があります。このサイトのページ構造は規則的で、初心者の爬虫類に対する技術意識を強化するためです。②このサイトにはアンチ爬虫類の仕組みがなく、安心して爬虫類を使うことができます。
第三者倉庫需要
ウェブサイトを開き、異なるページをクリックします。
発見したトップページはhttps://www.xiurenji.cc/XiuRen/を選択します。2ページ目はhttps://www.xiurenji.cc/XiuRen/index2.htmlを選択します。第三ページ第四ページはこれを類推します。爬虫類コードの普遍性のために、二ページ目以降に構造urlを行ってもいいです。
カバー画像を選択して、チェックをクリックします。
画像の情報は全部
'div',class_='dan'
にあり、a
ラベルの下にあるhref
にリンクされていることが分かる。これにより、コードを書いて、各表紙画像のurlを抽出することができます。
def getFirstPage(page):
url='https://www.xiurenji.cc/XiuRen/index'+str(page)+'.html'#
res=requests.get(url)#
res.encoding="gbk"# gbk
html=res.text
soup=BeautifulSoup(html,features='lxml')
lists=soup.find_all('div',class_='dan')#
urls=[]
for item in lists:
url1=item.find('a').get('href')#
urls.append('https://www.xiurenji.cc'+url1)# , ,
return urls#
表纸の写真をクリックして、异なるページを开くと、トップページのURLはhttps://www.xiurenji.cc/XiuRen/xxxx.htmlです。https://www.xiurenji.cc/XiuRen/xxxx_1.第三ページと第四ページは同じです。同じように普遍性のために二ページから登ります。右クリックして、「チェック」をクリックします。
すべてのピクチャ情報は
'div',class_='img'
に格納されており、リンク、タイトルはそれぞれimg
タグのsrc
およびalt
に保存されており、我々も同様にそれらを抽出することができる。
def getFirstPage(page):
url='https://www.xiurenji.cc/XiuRen/index'+str(page)+'.html'#
res=requests.get(url)#
res.encoding="gbk"# gbk
html=res.text
soup=BeautifulSoup(html,features='lxml')
lists=soup.find_all('div',class_='dan')#
urls=[]
for item in lists:
url1=item.find('a').get('href')#
urls.append('https://www.xiurenji.cc'+url1)# , ,
return urls#
完全コード
import requests
from bs4 import BeautifulSoup
def getFirstPage(page):
url='https://www.xiurenji.cc/XiuRen/index'+str(page)+'.html'#
res=requests.get(url)#
res.encoding="gbk"# gbk
html=res.text
soup=BeautifulSoup(html,features='lxml')
lists=soup.find_all('div',class_='dan')#
urls=[]
for item in lists:
url1=item.find('a').get('href')#
urls.append('https://www.xiurenji.cc'+url1)# , ,
return urls#
def download(urls):
for url1 in urls:
print("prepare to download pictures in "+url1)
getEveryPage(url1)#
print("all pictures in "+url1+"are downloaded")
def getEveryPage(url1):
total=0#total :
for n in range (1,11):# 10 ,
temp=url1.replace('.html','')
url2=temp+'_'+str(n)+'.html'#
res=requests.get(url2)
res.encoding="gbk"
html=res.text
soup=BeautifulSoup(html,features='lxml')
lists1=soup.find_all('div',class_='img')#
for item in lists1:
url=item.find('img').get('src')
title=item.find('img').get('alt')#
picurl='https://www.xiurenji.cc'+url#
picture=requests.get(picurl).content#
address='D:\pythonimages'+'\\'#
with open(address+title+str(total)+'.jpg','wb') as file:#
print("downloading"+title+str(total))
total=total+1
file.write(picture)
if __name__ == "__main__":
page=int(input('input the page you want:'))
urls=getFirstPage(page)
download(urls)
この文章は学習の参考だけにして、他の用途に使わないでください。ここでPythonさんがお姉さんの写真を掲載した文章を紹介します。Pythonさんがお姉さんの写真を撮った内容は以前の文章を検索したり、下の関連記事を見たりしてください。これからもよろしくお願いします。