Python实战计划学习笔记(6)爬取图片

心得

  1. 抓取图片要加载 urllib.request 库,使用urllib.request.urlretrieve()函数,目录要先建立好
  2. 下载到本地的文件命名可以截取服务器端文件名称
  3. 动态加载的URL通过观察Network/XHR行为获得
  4. 功能用函数封装后使用更方便

我的代码

from bs4 import BeautifulSoup
import requests,urllib.request
import time

url = 'http://weheartit.com/inspirations/taylorswift'
urls =['http://weheartit.com/inspirations/taylorswift?scrolling=true&page={}&before=256131287'.format(str(i)) for i in range(2,21,1)]
urls.insert(0,url)
save_path = 'C:/Users/tanghx/Desktop/pic/'

def get_img_src(url, data = None):
    web_data = requests.get(url)
    soup = BeautifulSoup(web_data.text,'lxml')
    imgs = soup.select('div.entry-preview > a > img')
    photo_links = []
    for img in imgs:
        photo_links.append(img.get('src'))
    return(photo_links)

def retrieve_pics(photo_links):
    for item in photo_links:
        urllib.request.urlretrieve(item,save_path + item[-24:-15] + item[-4:])

n = 0
for single_url in urls:
    retrieve_pics(get_img_src(single_url))
    n = n + 1
    print('Page ',n,' retrieved')
    time.sleep(2)

运行结果

1.jpg

下载的图片


2.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,084评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,119评论 25 709
  • 一个电闪雷鸣的夜里,我想起誓言和一双眼睛,沉重的铁链缠绕着雨中的尸体,他们能够为了爱情,献上了自己的生命。
    6蟲阅读 3,077评论 0 0
  • 作者 姜苏 欧月琴和蒋浩林正说着小海,小海就打来电话,问他们现在在哪呢? 欧月琴说在木渎镇。小海有点气不打一处来...
    姜苏阅读 1,950评论 0 0
  • “你到底出去做过没有?”肖岩红着眼的几乎是吼着问儿子肖田。 “没有,从来没有!” “这一年,那你理发时受没受过伤呀...
    黑白无阅读 3,921评论 3 11

友情链接更多精彩内容