一个简单的Python爬虫
写了一个抓taobao图片的爬虫,全是用if,for,while写的,比较简陋,入门作品。
从网页http://mm.taobao.com/json/request_top_list.htm?type=0&page=中提取taobao模特的照片。
# -*- coding: cp936 -*-
import urllib2
import urllib
mmurl="http://mm.taobao.com/json/request_top_list.htm?type=0&page="
i=0#第二页有个人的页面没图片,会出现IO错误
while i<15:
url=mmurl+str(i)
#print url #打印出列表的url
up=urllib2.urlopen(url)#打开页面,存入句柄中
cont=up.read()
#print len(cont)#页面的长度
ahref='<a href="http'#筛选页面内网页链接的关键字
target="target"
pa=cont.find(ahref)#找出网页链接的头部位置
pt=cont.find(target,pa)#找出网页链接的尾部位置
for a in range(0,20):#如才能不把20硬编码进去?如何找到文件结尾?
urlx=cont[pa+len(ahref)-4:pt-2]#从头部到尾部,将网页链接存入变量
if len(urlx) < 60:#如果网页链接长度适合【len()!!!!】
urla=urlx #那么就准备将其打印出来
print urla #这是想要的model个人URL
#########以下开始对model个人的URL进行操作#########
mup=urllib2.urlopen(urla)#打开model个人的页面,存入句柄中
mcont=mup.read()#对model页面的句柄进行读出操作,存入mcont字符串
imgh="<img style=" #筛选页面内【图片】链接的关键字
imgt=".jpg"
iph=mcont.find(imgh)#找出【图片】链接的头部位置
ipt=mcont.find(imgt,iph)#找出【图片】链接的尾部位置
for b in range(0,10):#又是硬编码····
mpic=mcont[iph:ipt+len(imgt)]#原始图片链接,链接字符的噪声太大
iph1=mpic.find("http")#对上面的链接再过滤一次
ipt1=mpic.find(imgt) #同上
picx=mpic[iph1:ipt1+len(imgt)]
if len(picx)<150:#仍有一些URL是“http:ss.png><dfsdf>.jpg”(设为100竟然会误伤)
pica=picx #【是len(picx)<100而不是picx!!】不然会不显示
print pica
############################
###########开始下载pica这个图片
urllib.urlretrieve(pica,"pic\\tb"+str(i)+"x"+str(a)+"x"+str(b)+".jpg")
########### pica图片下载完毕.(加上各循环体的数字,以免名字重复)
############################
iph=mcont.find(imgh,iph+len(imgh))#开始下一个循环
ipt=mcont.find(imgt,iph)
############model个人URL内的【图片链接】提取完毕##########
pa=cont.find(ahref,pa+len(ahref))#将原来的头部位作为起始点,继续向后找下一个头部
pt=cont.find(target,pa)#继续找下一个尾部
i+=1
一个简单的Python爬虫的更多相关文章
- 一个简单的python爬虫程序
python|网络爬虫 概述 这是一个简单的python爬虫程序,仅用作技术学习与交流,主要是通过一个简单的实际案例来对网络爬虫有个基础的认识. 什么是网络爬虫 简单的讲,网络爬虫就是模拟人访问web ...
- 一个简单的python爬虫,爬取知乎
一个简单的python爬虫,爬取知乎 主要实现 爬取一个收藏夹 里 所有问题答案下的 图片 文字信息暂未收录,可自行实现,比图片更简单 具体代码里有详细注释,请自行阅读 项目源码: # -*- cod ...
- 【Python学习笔记三】一个简单的python爬虫
这里写爬虫用的requests插件 1.一般那3.x版本的python安装后都带有相应的安装文件,目录在python安装目录的Scripts中,如下: 2.将scripts的目录配置到环境变量pa ...
- 一个简单的python爬虫,以豆瓣妹子“http://www.dbmeizi.com/category/2?p= ”为例
本想抓取网易摄影上的图,但发现查看html源代码时找不到图片的url,但firebug却能定位得到.(不知道为什么???) 目标是抓取前50页的爆乳图,代码如下: import urllib2,url ...
- 一个简单的python爬虫(转)
# -*- coding: utf-8 -*- #--------------------------------------- # 程序:百度贴吧爬虫 # 版本:0.1 # 作者:why # 日期: ...
- python实现的一个简单的网页爬虫
学习了下python,看了一个简单的网页爬虫:http://www.cnblogs.com/fnng/p/3576154.html 自己实现了一个简单的网页爬虫,获取豆瓣的最新电影信息. 爬虫主要是获 ...
- 做一个简单的scrapy爬虫
前言: 做一个简单的scrapy爬虫,带大家认识一下创建scrapy的大致流程.我们就抓取扇贝上的单词书,python的高频词汇. 步骤: 一,新建一个工程scrapy_shanbay 二,在工程中中 ...
- 作业1开发一个简单的python计算器
开发一个简单的python计算器 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568 ...
- 老男孩python作业5-开发一个简单的python计算器
开发一个简单的python计算器 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568 ...
随机推荐
- android ListView中的Item有Button时候点击异常处理
1.当ListView中有Button的时候往往会遇到很多问题,比较常见的一个问题是: 假设:在ListView中有N个Item当点击其中某个Item中的Button的时候,需要改变当前Button的 ...
- 上门洗车App 竟然是块大肥肉!
http://www.leiphone.com/k-xiche-app-idea.html 打车App.租车App.防违规App我们见得多,但洗车App你一定没听过,之前在一次创业路演上碰到一个做上门 ...
- sc7731 Android 5.1 LCD驱动简明笔记之二
此篇笔记基于sc7731 - android 5.1,对lcd的framebuffer做一个简明笔记. 一共分为两大部分:第一部分,关于LCD的硬件方面的:第二部分,关于lcd核心处理(framebu ...
- Semaphore 和 Mutex
mutex和semaphore有什么区别呢? mutex是用作互斥的,而semaphore是用作同步的. 也就是说,mutex的初始化一定是为1,而semaphore可以是任意的数, 所以如果使用mu ...
- 怎样对ListView的项进行排序
当您使用资源浏览器查看文件时,您能够随心所欲的按名称.大小.类型及改动日期不同的列对文件进行大小排序..Net提供的ListView组件没有直接提供这样的功能,但要实现并不难. ListView. ...
- IOS 7 Study - Implementing Navigation with UINavigationController
ProblemYou would like to allow your users to move from one view controller to the other witha smooth ...
- Codeforces Round #337 (Div. 2) D. Vika and Segments 线段树扫描线
D. Vika and Segments 题目连接: http://www.codeforces.com/contest/610/problem/D Description Vika has an i ...
- ASP.NET过滤HTML标签只保留换行与空格的方法
这篇文章主要介绍了ASP.NET过滤HTML标签只保留换行与空格的方法,包含网上常见的方法以及对此方法的改进,具有一定的参考借鉴价值,需要的朋友可以参考下 本文实例讲述了ASP.NET过滤HTML ...
- 【JavaScript】AJAX总结(异步JavaScript和XML)
AJAX介绍 通过 AJAX,你可以创建更好.更快以及更友好的 WEB 应用程序. AJAX 基于 JavaScript 和 JavaScript的XMLHttpRequest对象. AJAX 应用程 ...
- 0c-37-ARC
.什么是ARC? Automatic Reference Counting,自动引用计数,即ARC,可以说是WWDC2011和iOS5所引入的最大的变革和最激动人心的变化.ARC是新的LLVM .0编 ...