学习笔记:使用requests+Beautiful4爬取优美图库

BeautifulSoup需要掌握:
1.find()方法
2.find_all()方法
requests基本掌握.get就行。
代码如下:

import requests
from bs4 import BeautifulSoup

url = "https://www.umei.cc/meinvtupian/meinvxiezhen/"
resp = requests.get(url)
resp.encoding = "gbk", "gb232"
#print(resp.text)
soup = BeautifulSoup(resp.text, "html.parser")
fath_page = soup.find("div", class_="TypeList").find_all("a", class_="TypeBigPics")
n = 1
for a in fath_page:
   # print(a.get("href"))
    c_resp = requests.get(a.get("href"))
    c_resp.encoding="utf-8"
    #print(c_resp)
    c_soup=BeautifulSoup(c_resp.text,"html.parser")
    c_page = c_soup.find("div",class_="ImageBody").find("img").get("src")
    #c_url = c_page.get("href")

    new_url = requests.get(c_page).content
    with open(f"{n}.jpg" ,mode="wb") as f:
        f.write(new_url)
        print(f"下载了{n}张")
        n+=1

beta版本:(嘻嘻,有待改进。)

import requests

from bs4 import BeautifulSoup

url = "https://www.umei.cc/meinvtupian/meinvxiezhen/"
resp = requests.get(url)
resp.encoding = "gbk", "gb232"
#print(resp.text)
soup = BeautifulSoup(resp.text, "html.parser")
fath_page = soup.find("div", class_="TypeList").find_all("a", class_="TypeBigPics")


for a in fath_page:
    for i in range(2, 20):
        #print(a.get("href"))
        str_url = str(a.get("href"))[0:-4]
       #print(str_url)
        stu=str_url+"_"+str(i)+".htm"
        print(stu)

def get_stu(stu):
        try:
            c_resp=requests.get(stu)
        except AttributeError:
              c_resp.encoding="utf-8"
              print(c_resp)
              c_soup=BeautifulSoup(c_resp.text,"html.parser")
              c_page = c_soup.find("div",class_="ImageBody").find("img").get("src")
            #print(c_page)

              new_url = requests.get(c_page).content
              return new_url
              with open(f"{n}.jpg" ,mode="wb") as f:
                    f.write(new_url)
                    print(f"下载了{n}张")
                    n+=1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值