Educode--故宫壁纸网页图片的爬取实验

第1关:网页爬虫选择题

第2关:获取故宫壁纸网页的第一张图片的信息

实现代码:

import requests

from bs4 import   BeautifulSoup

url = "https://www.dpm.org.cn/lights/royal/p/1.html"

#代码开始

r = requests.get(url)

r.encoding = "utf-8"

soup = BeautifulSoup(r.text,"html.parser")

pic=soup.find("div",class_="pic")

x=pic.find("img")

imglj=x.attrs["src"]

imgmz=x.attrs["title"].strip()

#代码结束

print(imglj)

print(imgmz)

f1=open("tpxx.txt","w")

f1.write(imglj+"\n")

f1.write(imgmz+"\n")

f1.close()

第3关:下载故宫壁纸网页的第一张图片

实现代码: 

import requests

from bs4 import   BeautifulSoup

url = "https://www.dpm.org.cn/lights/royal/p/1.html"

r=requests.get(url)

r.encoding = 'utf-8'

soup=BeautifulSoup(r.text,"html.parser")

pic=soup.find("div", class_="pic")

x=pic.find("img")

imglj=x.attrs["src"]

imgmz=x.attrs["title"].strip()

#代码开始

r=requests.get(imglj)  

cpmc="image//"+imgmz+".jpg"  

f1=open(cpmc,"bw")  

f1.write(r.content)  

f1.close()  

#代码结束

第4关:下载故宫壁纸网页的单页的多张图片

实现代码:

import requests

from bs4 import   BeautifulSoup

url = "https://www.dpm.org.cn/lights/royal/p/1.html"

#代码开始

r=requests.get(url)  

r.encoding = 'utf-8'  

soup=BeautifulSoup(r.text,"html.parser")  

pics=soup.find_all("div", class_="pic")  

i=1  

for pic in pics:  

    x=pic.find("img")  

    imglj=x.attrs["src"]  

    imgmz=x.attrs["title"].strip()  

    r=requests.get(imglj)  

    f=open("image/"+str(i)+imgmz+".jpg","wb")  

    i=i+1  

    f.write(r.content)  

    f.close()

#代码结束

 

第5关:获取故宫壁纸前五个网页的多张图片的信息

实现代码: 

import requests

from bs4 import   BeautifulSoup

#代码开始

i=1  

for j in range(1,6):      

    url = "https://www.dpm.org.cn/lights/royal/p/"+str(j)+".html"  

    r=requests.get(url)  

    r.encoding = 'utf-8'  

    soup=BeautifulSoup(r.text,"html.parser")  

    pics=soup.find_all("div", class_="pic")  

    for pic in pics:  

        x=pic.find("img")  

        imglj=x.attrs["src"]  

        imgmz=x.attrs["title"].strip()  

        r=requests.get(imglj)  

        f1=open("image/"+str(i)+imgmz+".jpg",'wb')  

        f1.write(r.content)  

        f1.close()  

        i=i+1

#代码结束

猜你喜欢

转载自blog.csdn.net/qq_57409899/article/details/124849738