鱼C论坛

 找回密码
 立即注册
查看: 1207|回复: 1

[作品展示] 使用requests和bs4爬取中国国家地理网画廊页面下所有图片

[复制链接]
发表于 2020-3-20 15:44:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 我龙哟 于 2020-3-21 12:56 编辑
  1. import requests
  2. import os
  3. from bs4 import BeautifulSoup

  4. def openurl(url):
  5.     try:
  6.         res = requests.get(url,timeout=30)
  7.         res.raise_for_status()
  8.         return res
  9.     except:
  10.         return"访问网页产生异常"

  11. def findimgurl(furl):
  12.     res = openurl(furl)
  13.     #print(res.text[:100])
  14.     soup = BeautifulSoup(res.text,"html.parser")
  15.     data = soup.find(name='div',attrs={'class':"right-side"})
  16.     imgurldata = data.find_all("img")
  17.     #print(imgurldata)
  18.     imgurl = []
  19.     for each in imgurldata:
  20.         if each.get("src")[-4:] != '.png':
  21.             imgname = each.get("alt")
  22.             imgurl.append({'imgname':imgname,'imgurl':each.get("src")[:-5]})
  23.     #print(imgurl)
  24.     return imgurl#链接列表
  25.    

  26. def save(imgurl):
  27.     try:
  28.         for each in imgurl:
  29.             #print(each['imgname'],each['imgurl'])
  30.             path = each['imgname'] + each['imgurl'][-4:]
  31.             #print(path)
  32.             if not os.path.exists(path):
  33.                 print(each['imgname'] + each['imgurl'][-4:])
  34.                 img = openurl(each['imgurl'])
  35.                 with open(path,"wb") as f:
  36.                     f.write(img.content)
  37.                     print("保存成功\n")
  38.             else:
  39.                 print(each['imgname'] + each['imgurl'][-4:])
  40.                 print("文件已存在\n")
  41.     except:
  42.         return"异常"

  43. def main():
  44.     for i in range(10):
  45.         print(i+1)
  46.         furl = "http://www.dili360.com/gallery/cate/" + str(i+1) + ".htm"
  47.         imgurl = findimgurl(furl)
  48.         save(imgurl)

  49. if __name__ == "__main__":
  50.     main()
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-1 22:34:24 | 显示全部楼层
...
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-19 21:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表