Pythonを使ってお姉さんの写真を登ります。(beautiful soup法)


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を行ってもいいです。
    在这里插入图片描述
    カバー画像を選択して、チェックをクリックします。
    在这里插入图片描述
    画像の情報は全部'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さんがお姉さんの写真を撮った内容は以前の文章を検索したり、下の関連記事を見たりしてください。これからもよろしくお願いします。