本篇目标

1.抓取淘宝MM的姓名,头像,年龄

2.抓取每一个MM的资料简介以及写真图片

3.把每一个MM的写真图片按照文件夹保存到本地

4.熟悉文件保存的过程

1.URL的格式

在这里我们用到的URL是 http://mm.taobao.com/json/request_top_list.htm?page=1,问号前面是基地址,后面的参数page是代表第几页,可以随意更换地址。点击开之后,会发现有一些淘宝MM的简介,并附有超链接链接到个人详情页面。

另外要注意:光理论是不够的。这里顺便免费送大家一套2020最新python入门到高级项目实战视频教程,可以去小编的Python交流.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,还可以跟老司机交流讨教!

我们需要抓取本页面的头像地址,MM姓名,MM年龄,MM居住地,以及MM的个人详情页面地址。

2.抓取简要信息

相信大家经过上几次的实战,对抓取和提取页面的地址已经非常熟悉了,这里没有什么难度了,我们首先抓取本页面的MM详情页面地址,姓名,年龄等等的信息打印出来,直接贴代码如下

__author__ = 'CQC'

# -*- coding:utf-8 -*-

import urllib

import urllib2

import re

class Spider:

def __init__(self):

self.siteURL = 'http://mm.taobao.com/json/request_top_list.htm'

def getPage(self,pageIndex):

url = self.siteURL + "?page=" + str(pageIndex)

print url

request = urllib2.Request(url)

response = urllib2.urlopen(request)

return response.read().decode('gbk')

def getContents(self,pageIndex):

page = self.getPage(pageIndex)

pattern = re.compile('

class="lady-name.*?>(.*?).*?(.*?).*?(.*?)',re.S)

items = re.findall(pattern,page)

for item in items:

print item[0],item[1],item[2],item[3],item[4]

spider = Spider()

spider.getContents(1)

运行结果如下:

2.文件写入简介

在这里,我们有写入图片和写入文本两种方式

1)写入图片

#传入图片地址,文件名,保存单张图片

def saveImg(self,imageURL,fileName):

u = urllib.urlopen(imageURL)

data = u.read()

f = open(fileName, 'wb')

f.write(data)

f.close()

2)写入文本

def saveBrief(self,content,name):

fileName = name + "/" + name + ".txt"

f = open(fileName,"w+")

print u"正在偷偷保存她的个人信息为",fileName

f.write(content.encode('utf-8'))

3)创建新目录

#创建新目录

def mkdir(self,path):

path = path.strip()

# 判断路径是否存在

# 存在     True

# 不存在   False

isExists=os.path.exists(path)

# 判断结果

if not isExists:

# 如果不存在则创建目录

# 创建目录操作函数

os.makedirs(path)

return True

else:

# 如果目录存在则不创建,并提示目录已存在

return False

3.代码完善

主要的知识点已经在前面都涉及到了,如果大家前面的章节都已经看了,完成这个爬虫不在话下,具体的详情在此不再赘述,直接帖代码啦。

spider.py

__author__ = 'CQC'

# -*- coding:utf-8 -*-

import urllib

import urllib2

import re

import tool

import os

#抓取MM

class Spider:

#页面初始化

def __init__(self):

self.siteURL = 'http://mm.taobao.com/json/request_top_list.htm'

self.tool = tool.Tool()

#获取索引页面的内容

def getPage(self,pageIndex):

url = self.siteURL + "?page=" + str(pageIndex)

request = urllib2.Request(url)

response = urllib2.urlopen(request)

return response.read().decode('gbk')

#获取索引界面所有MM的信息,list格式

def getContents(self,pageIndex):

page = self.getPage(pageIndex)

pattern = re.compile('

class="lady-name.*?>(.*?).*?(.*?).*?(.*?)',re.S)

items = re.findall(pattern,page)

contents = []

for item in items:

contents.append([item[0],item[1],item[2],item[3],item[4]])

return contents

#获取MM个人详情页面

def getDetailPage(self,infoURL):

response = urllib2.urlopen(infoURL)

return response.read().decode('gbk')

#获取个人文字简介

def getBrief(self,page):

pattern = re.compile('

(.*?)

python如何赚外快 淘宝_Python如何爬取淘宝MM呢?教你一招相关推荐

  1. python淘宝爬虫_python爬虫爬取淘宝商品信息

    本文实例为大家分享了python爬取淘宝商品的具体代码,供大家参考,具体内容如下 import requests as req import re def getHTMLText(url): try: ...

  2. python爬虫学习(三):使用re库爬取淘宝商品,并把结果写进txt文件

    第二个例子是使用requests库+re库爬取淘宝搜索商品页面的商品信息 (1)分析网页源码 打开淘宝,输入关键字"python",然后搜索,显示如下搜索结果 从url连接中可以得 ...

  3. 爬虫「Python」:一次登录,解决爬取淘宝商品评价繁杂的问题——简述 Headers 的使用

    在爬取淘宝商品评价时,可能会被以下几个问题所困扰: (1)直接请求,服务器要求登录帐号,怎么登录? (2)请求到的网页 Html 怎么没有我要的评价信息? (3)等等 下面介绍一下我使用的比较简单的获 ...

  4. Python爬虫自学之第(⑤)篇——爬取某宝商品信息

    题外话: <Pi Network 免费挖矿国外热门项目 一个π币大约值3元到10元>相信过去BTC的人,信不信未来的PI,了解一下,唯一一个高度与之持平的项目 能看到这里说明快进入动态网页 ...

  5. python跑一亿次循环_python爬虫爬取微博评论

    原标题:python爬虫爬取微博评论 python爬虫是程序员们一定会掌握的知识,练习python爬虫时,很多人会选择爬取微博练手.python爬虫微博根据微博存在于不同媒介上,所爬取的难度有差异,无 ...

  6. python网络爬虫学习(六)利用Pyspider+Phantomjs爬取淘宝模特图片

    本篇博文在编写时参考了http://cuiqingcai.com/2652.html,向作者表示感谢 一.新的问题与工具 平时在淘宝上剁手的时候,总是会看到各种各样的模特.由于自己就读于一所男女比例三 ...

  7. python爬虫selenium和bs4_python爬虫――selenium+bs4爬取选股宝‘利好‘or’利空'股票信息...

    一.前言.(1)我个人比较喜欢先看结果,再看内容,so,结果如图: (2)信息抓取自选股宝https://xuangubao.cn/(我这里设定抓取加载20页,下面只列举几个): (3)本次主要应用到 ...

  8. python爬虫网页中的图片_Python爬虫爬取一个网页上的图片地址实例代码

    本文实例主要是实现爬取一个网页上的图片地址,具体如下. 读取一个网页的源代码: import urllib.request def getHtml(url): html=urllib.request. ...

  9. python爬虫动态加载页面_Python+Selenium爬取动态加载页面(2)

    注: 上一篇<Python+Selenium爬取动态加载页面(1)>讲了基本地如何获取动态页面的数据,这里再讲一个稍微复杂一点的数据获取全国水雨情网.数据的获取过程跟人手动获取过程类似,所 ...

  10. python数据分析图表展示_NBA数据分析_python数据爬取_可视化图形_python数据可视化案例-帆软...

    之前手痒做了一次NBA可视化分析,发个微头条,好多人追着我问教程,这两天终于闲下来了,花时间整理这篇NBA可视化分析教程,手把手教大家做一次炫酷的数据可视化分析! 先部分展示本次教程的作品: 数据获取 ...

最新文章

  1. 智能语音交互技术在360的落地实践
  2. 郁闷的时候看看这头驴,改变你的心态!
  3. python下载文件的11种方式_Python 中常见的几种下载文件方法
  4. LeetCode题库第867题 转置矩阵
  5. 解决 -- java 调用webservice 服务端收到参数为null
  6. sqlserver——视图
  7. js 线段上某点的坐标_测绘测量中常用的坐标系
  8. 《Python编程快速上手——让繁琐工作自动化》——2.5 控制流的元素
  9. alibaba cloud sdk使用工作笔记0001---通过alibaba cloud sdk动态操作自己的阿里云产品,设置,或者查询信息
  10. 农业物联网卡存在哪些问题?
  11. WinForm中TextBox的几个基本技巧
  12. 不用空格怎么打两个空格_为什么在寸土寸金的键盘上,空格键却要做这么长,究竟怎么回事?...
  13. Java 枚举 ordinal 使用以及介绍
  14. 密码疑云 (3)——详解RSA的加密与解密
  15. 梦想照进现实|CSDN 实体奖牌 第五期
  16. 面试官,你到底安的什么心?
  17. 使用FontCreator打造属于自己的字体
  18. 计算机基础之终端(DOS)的正确认识和重要性——Windows系统cmd与环境变量(java环境配置)
  19. (企业)注册公众平台步骤---订阅号
  20. 模拟蒙蒂霍尔悖论游戏

热门文章

  1. 第一次学游泳技巧_学游泳需要注意什么 第一次游泳注意事项
  2. 仿小米通讯录 右侧滑动条与带动画的悬停列表实现(一)
  3. Machine Learning读书会,面试算法讲座,创业活动,算法班(历届汇总)
  4. 单片机c语言给变量赋值,单片机c语言变量的定义和赋值
  5. 一名合格的Java后端工程师或架构师必须要掌握 Spring Framework、Spring Boot、Spring Cloud
  6. 【CTF】咏春招新赛收获兼write up
  7. 图片生成二维码最好的工具
  8. 苹果cms模板_苹果cms怎么做seo?
  9. 火影忍者ol HTML5,火影忍者OL-官方网站-腾讯游戏
  10. 【Linux】 基础入门 全解