一个简单的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 ...
随机推荐
- HDU2838Cow Sorting(树状数组)
题目意思是说给你一列数,每次可以将相邻的两个数交换,这一步的代价是这两个数的和,求将所有数排好序的最少代价. 题解: 我们可以这么思考,由于每次都是交换相邻的两个数,所以将一个数放到它自己的位置去后, ...
- 代码中设置excel自定义格式为[红色]的处理方法
有时候,excel的自定义格式设置时 ,会遇到需要设置为¥#,##0;[红色]¥-#,##0的格式. 其中会带一个颜色标记,但是如果这样的一句代码,放在英文版的Office里面,就失效了,因为英文版应 ...
- 将nginx配置为服务,php-fpm配置说明
编写shell脚本 vi /etc/init.d/nginx #!/bin/bash # # Startup script for the PHP-FPM server. # # chkconfig: ...
- effective c++ (一)
条款01:把C++看作一个语言联邦 C++是一种多重范型编程语言,一个同时支持过程(procedural),面向对象(object-oriented),函数形式(functional),泛型形式(ge ...
- QA技能必备
一 常用Linux命令 二 自动化工具
- c# abstract抽象类与继承类子类的构造函数_base
http://blog.itpub.net/9240380/viewspace-718054/ http://blog.163.com/cloud_thegreat/blog/static/10367 ...
- 窥探EasyMock(2)进阶使用篇
from:http://www.iteye.com/topic/310313 1. 生成 Mock 对象 如何创建一个需要严格遵守调用顺序的mock对象? SomeInterface mockObj ...
- [效果]JS折叠菜单-使用方法 (Moo.Fx)
(从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期2014-06-24) 用法: 1.添加JS库 CODE:<script src="prototype.lite.js& ...
- Mysql大数据量查询优化
一般MYSQL最基本的分页方式: select * from content order by id desc limit 0, 10 在中小数据量的情况下,这样的SQL足够用了,唯一需要注意的问题就 ...
- C++学习笔记之字符函数库cctype
C++从C语言继承了一个与字符相关的.非常方便的函数软件包,它可以简化诸如确定字符是否为大写字母.数字.标点符号等工作,这些函数原型是在头文件cctype(老式风格ctype.h)中定义的. 下表对这 ...