写了个图片蜘蛛人玩玩,抓了几个网页试试,感觉不不错。核心的代码可能20行也不到,简洁明了,嘻嘻。废话少说,翠花,上代码~~
#coding=utf-8
import os
import sys
import re
import urllib
URL_REG = re.compile(r'(http://[^/\\]+)', re.I)
IMG_REG = re.compile(r'<img[^>]*?src=([\'"])([^\1]*?)\1', re.I)
def download(dir, url):
'''下载网页中的图片
@dir 保存到本地的路径
@url 网页url
'''
global URL_REG, IMG_REG
m = URL_REG.match(url)
if not m:
print '[Error]Invalid URL: ', url
return
host = m.group(1)
if not os.path.isdir(dir):
os.mkdir(dir)
# 获取html,提取图片url
html = urllib.urlopen(url).read()
imgs = [item[1].lower() for item in IMG_REG.findall(html)]
f = lambda path: path if path.startswith('http://') else \
host + path if path.startswith('/') else url + '/' + path
imgs = list(set(map(f, imgs)))
print '[Info]Find %d images.' % len(imgs)
# 下载图片
for idx, img in enumerate(imgs):
name = img.split('/')[-1]
path = os.path.join(dir, name)
try:
print '[Info]Download(%d): %s'% (idx + 1, img)
urllib.urlretrieve(img, path)
except:
print "[Error]Cant't download(%d): %s" % (idx + 1, img)
def main():
if len(sys.argv) != 3:
print 'Invalid argument count.'
return
dir, url = sys.argv[1:]
download(dir, url)
if __name__ == '__main__':
# download('D:\\Imgs', 'http://www.163.com')
main()
分享到:
相关推荐
在开始学习如何用Python爬取百度图片之前,我们先来了解一下网络爬虫的基本概念。网络爬虫(Web Crawler),也称为网页蜘蛛(Spider)或网页机器人(Robot),是一种自动浏览互联网并抓取网页数据的程序或自动化脚本...
在Python中,我们可以使用内置的`urllib.request`模块来实现这一功能。这个模块提供了请求网页数据的能力。以下是一个简单的例子: ```python import urllib.request url = 'http://p.weather.com.cn/' def ...
理论教学部分将涵盖爬虫概念、原理、反爬策略和Python爬虫库的介绍,而实验教学则强调实际操作,包括数据库的安装配置和爬虫库的使用。学生在实践中将更好地理解和掌握爬虫技术。 **六、教学目标与要求** - 理解...
4. **下载图片**:对于每个图片链接,再次使用`urllib.request`下载图片。 **总结** 本文详细介绍了网络爬虫的基本概念、工作原理以及如何使用Python进行网络爬虫开发。通过对URL的理解及其在网络爬虫中的作用进行...
- **Urllib库的基本使用**:学习Python内置的Urllib库,进行简单的网络请求。 - **Urllib库的高级用法**:深入探讨Urllib库的各种高级功能。 - **URLError异常处理**:学习如何处理爬虫过程中可能出现的错误。 -...
5. **Python-goose框架**:该框架专注于从网页中提取有用的文章内容,包括正文、图片、视频等多媒体资源。它还支持提取元数据,如标题、作者、发布时间等。 #### 五、数据爬取实战——豆瓣网爬取电影数据 1. **...
Python爬虫模拟器是一种强大的工具,它使得网络数据抓取变得更加直观和易用,即使是...总的来说,Python爬虫模拟器是Python爬虫技术与易用性结合的产物,使得网络爬虫不再只是程序员的专利,而是任何人都能掌握的技能。
在IT行业中,蜘蛛(Spider)通常指的是网络爬虫(Web Crawler),这是一种自动化程序,用于遍历互联网上的网页,收集信息。"简易蜘蛛代码"是一个基础的爬虫项目,可以帮助初学者理解网络爬虫的基本原理和实现方法。...
项目的核心是使用爬虫技术来抓取游戏中英雄的图片,这涉及到Python编程语言以及网络爬虫的相关知识。下面我们将深入探讨这些主题。 首先,让我们了解什么是网络爬虫。网络爬虫,又称网页蜘蛛或网络机器人,是一种...
网络爬虫,又称为网络蜘蛛或网页抓取程序,是一种自动浏览互联网并抓取网页内容的程序。它的工作原理是通过模拟人类用户的行为,遵循超链接结构,从一个网页出发,发现并抓取与其链接的其他网页,以此方式不断扩大其...
网络爬虫通常被形象地比喻为在互联网上爬行的蜘蛛,它们通过网页之间的链接地址来发现新的网页。在Python中,实现爬虫的主要步骤包括以下几个方面: 1. **启动爬虫**: 爬虫的起始点通常是某个已知的网页URL,这被...
"image_spider:基于scrapy的图像蜘蛛" 这个标题表明我们正在讨论一个使用Scrapy框架构建的Python爬虫项目,它的主要功能是抓取并下载特定网页上的图像,特别是铃木爱理(Airi Suzuki)的相关图片。 **描述解析:** ...
2. **编程语言**:源码可能是用JavaScript、C#、Python或其他语言编写的。确定编程语言可以帮助我们理解代码的基础框架和流程。 3. **游戏架构**:源码可能遵循MVC(模型-视图-控制器)、OOP(面向对象编程)或其他...
3. **Python爬虫框架**:Python是编写爬虫的常用语言,有多种爬虫框架可供选择,如Scrapy、BeautifulSoup、Requests+PyQuery等。Scrapy是一个功能强大的框架,支持异步请求、中间件处理、数据持久化等功能;...
总的来说,这个压缩包展示了如何使用Python爬虫技术从互联网上抓取并聚合多源的高清壁纸数据。这种技术在大数据分析、市场研究、个性化推荐系统等领域都有应用。同时,它也提醒我们在进行网络爬虫活动时要注意遵守...
今天就来分享一下,怎么通过爬虫自动的将这些个动作收藏到自己的电脑中(其实这个程序5月份就写好了,一直拖到现在才想起来将它分享出来)。 一.思路分析 按照爬虫的基本规律: 1.找到目标 2.抓取目标 3.处理目标...
基于CNN的验证码图片识别简介本项目采用alexnet模型和letnet模型,可根据实际需要选择(在train_model.py中的train函数修改即可)95.5%作者有话说不知不觉这个git库伴随我从16到到20年,带给我自己最棒的一段人生旅程...
5. **多线程/异步编程**:为了提高爬取效率,可以使用多线程或多进程,或者基于异步IO的库(如Python的asyncio)进行并发处理。这样可以同时处理多个请求,显著加快爬虫的速度。 6. **反爬机制与IP代理**:许多网站...