我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python 爬取淘宝模特信息

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python 爬取淘宝模特信息


  通过本篇博文,介绍一下我对指定信息进行爬取的时候的思路,顺便贴一下代码。

 一、首先获取想要爬取的网站的url链接的规则变化

wKiom1mEEYqDPmnUAAHhy7C1AhU889.png-wh_50

wKiom1mEEbTSBYwYAAHThdYSxS0273.png-wh_50

可以看出来该网站页面的url结构简单,变化的只是https://mm.taobao.com/json/request_top_list.htm?page= page的值

  二、对网站页面的DOM树的结构进行分析,方便我们获取我们想要的内容信息,

我写了个简单的网页分析脚本analyze.py:用来输出DOM树,方便我后面做筛选.

# -*- coding:utf-8 -*-
 
#模块导入
import requests
from bs4 import BeautifulSoup

#想要分析的网站页面
url = "http://mm.taobao.com/json/request_top_list.htm?page=1"
response = requests.get(url)
response.encoding = 'gb2312'
html = response.text 

#使用lxml解析器进行处理
soup = BeautifulSoup(html, 'lxml') 
#把DOM树结构输出
print soup.prettify()
<html>
 <body>
  <div class="list-item">
   <div class="personal-info">
    <div class="pic-word">
     <div class="pic s60">
      <a class="lady-avatar" href="//mm.taobao.com/687471686.htm" target="_blank">
       <img alt="" height="60" class="lazy" data-src="//gtd.alicdn.com/sns_logo/i2/TB1XZ1PQVXXXXaJXpXXSutbFXXX.jpg_60x60.jpg" width="60"/>
      </a>
     </div>
     <p class="top">
      <a class="lady-name" href="//mm.taobao.com/self/model_card.htm?user_id=687471686" target="_blank">
       田媛媛
      </a>
      <em>
       <strong>
        27
       </strong>
       岁
      </em>
      <span>
       广州市
      </span>
      <span class="friend-follow J_FriendFollow" data-custom="type=14&app_id=12052609" data-group="" data-userid="687471686">
       加关注
      </span>
     </p>
     <p>
      <em>
       平面模特 设计师 T台、展模特
      </em>
      <em>
       <strong>
        164433
       </strong>
       粉丝
      </em>
     </p>
    </div>
    <div class="pic w610">
     <a href="//mm.taobao.com/photo-687471686-10000854046.htm?pic_id=10003369435" target="_blank">
      <img data-ks-lazyload="//img.alicdn.com/imgextra/i4/687471686/TB1TORaKFXXXXc0aXXXXXXXXXXX_!!2-tstar.png" class="lazy" data-src="//assets.alicdn.com/kissy/1.0.0/build/imglazyload/spaceball.gif"/>
     </a>
    </div>
   </div>
   <div class="list-info">
    <div class="popularity">
     <dl>
      <dt>
       1
      </dt>
      <dd>
       <span>
        总积分:
       </span>
       60742
      </dd>
     </dl>
    </div>
    <ul class="info-detail">
     <li>
      新增积分:
      <strong>
       529
      </strong>
     </li>
     <li>
      好评率:
      <strong>
       90.0
      </strong>
      %
     </li>
     <li>
      导购照片:
      <strong>
       888
      </strong>
      张
     </li>
     <li>
      签约数量:
      <strong>
       406
      </strong>
      次
     </li>
    </ul>
    <p class="description">
     你还在为上下衣物搭配而苦恼么..你还在为出门不知道穿什么而烦躁么 ..vvip女神教你一键(_)美美哒 ! 不需要过多的搭配.不需要为不协调而苦恼 ..我们为你选好让你出门美美哒!!
    </p>
    <div class="J_LikeIt" photo-favor-count="0" photo-id="687471686_10003369435">
     <div class="mm-photolike">
      <a class="mm-photolike-btn" data-count="0" data-targetid="687471686_10003369435" href="javascript:void(0)">
       喜欢
      </a>
      <var class="mm-photolike-count radius-3">
       0
      </var>
     </div>
    </div>
   </div>
  </div>

  <input id="J_Totalpage" type="hidden" value="4316"/>
 </body>
</html>

分析的时候我们其实可以只截取一个人的信息,因为输出太多。每个人的结构都是固定的,方便分析!

 三、程序代码:

# -*- coding:utf-8 -*-
 
import requests
from bs4 import BeautifulSoup
import sys
import re
reload(sys)
sys.setdefaultencoding('utf-8')


for num in range(1,4300):
    try:
        URL = 'http://mm.taobao.com/json/request_top_list.htm?page=%d' % num
        #print "现在爬取的网站url是:" + URL
        response = requests.get(URL) 
        response.encoding = 'gb2312'
        text = response.text 
        soup = BeautifulSoup(text, 'lxml') 
        for model in soup.select(".list-item"):
            try:
                model_id =  model.find('span', {'class': 'friend-follow J_FriendFollow'})['data-userid']
                json_url = "http://mm.taobao.com/self/info/model_info_show.htm?user_id=%d" % int(model_id)
                response_json = requests.get(json_url)
                response_json.encoding = 'gb2312'
                text_response_json = response_json.text
                soup_json = BeautifulSoup(text_response_json, 'lxml')
                
                print "***********************************" + model.find('a', {'class': 'lady-name'}).string + "*********************************"
                print "模特的名字:" + model.find('a', {'class': 'lady-name'}).string
                print "模特的年龄:"+ model.find('p', {'class': 'top'}).em.strong.string
                print "生日:" + soup_json.find('li', {'class': 'mm-p-cell-left'}).span.string
                blood =  soup_json.find_all('li', {'class': 'mm-p-cell-right'})[1].span.string
                if blood is None:
                    blood = "无"
                print "血型:" + blood
                print "学校/专业:" + soup_json.find_all('li')[5].span.string
                print "身高:" + soup_json.find('li', {'class': 'mm-p-small-cell mm-p-height'}).p.string
                print "体重:" + soup_json.find('li', {'class': 'mm-p-small-cell mm-p-weight'}).p.string
                print "三围:" + soup_json.find('li', {'class': 'mm-p-small-cell mm-p-size'}).p.string
                print "罩杯:" + soup_json.find('li', {'class': 'mm-p-small-cell mm-p-bar'}).p.string
                print "鞋码:" + soup_json.find('li', {'class': 'mm-p-small-cell mm-p-shose'}).p.string
                print "模特所在地:"+ model.find('p', {'class': 'top'}).span.string
                print "模特的id:"+ model.find('span', {'class': 'friend-follow J_FriendFollow'})['data-userid']
                print "模特的标签:"+ model.find_all('p')[1].em.string
                print "模特的粉丝数:"+ model.find_all('p')[1].strong.string
                print "模特的排名:"+ [text for text in model.find('div', {'class': 'popularity'}).dl.dt.stripped_strings][0]
                print model.find('ul', {'class': 'info-detail'}).get_text(" ",strip=True)
                print "模特的个人资料页面:" +"http:"+ model.find('a', {'class': 'lady-name'})['href']			             		
                print "模特的个人作品页面:" +"http:"+ model.find('a', {'class': 'lady-avatar'})['href']
                print "模特的个人头像:" + "http:" + model.find('img')['class="lazy" data-src']
                print "***********************************" + model.find('a', {'class': 'lady-name'}).string + "*********************************"
                print "\n"
		
            except:
                print "error"
    except:
        print num + "page is error"

 四、数据有差不多三万条 所以我截取部分信息:

wKiom1mEGKawlFFiAAHczdARLV0777.png-wh_50


总结:写的这篇博客整个程序的开发的思路的整个梳理。用到requests和beautiful这俩库。

希望对想做爬虫开发的人有点帮助。在我看来 思路很重要!


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python 爬取淘宝模特信息

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python 爬取淘宝模特信息

通过本篇博文,介绍一下我对指定信息进行爬取的时候的思路,顺便贴一下代码。 一、首先获取想要爬取的网站的url链接的规则变化可以看出来该网站页面的url结构简单,变化的只是https://mm.taobao.com/json/request_
2023-01-31

使用Python怎么爬取淘宝的商品信息

这期内容当中小编将会给大家带来有关使用Python怎么爬取淘宝的商品信息,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy
2023-06-14

python项目实战:利用selenium+浏览器爬取淘宝商品信息

前言今天为大家介绍一个Python利用selenium打开浏览器的方式来爬取淘宝商品的信息,下面就来看看,关于selenium的知识点,是如何做到控制浏览器获取网站的信息导入第三方库
2023-06-02

Python爬虫项目--爬取某宝男装信息

本次爬取用到的知识点有:1. selenium2. pymysql3  pyquery正文1. 分析目标网站1. 打开某宝首页, 输入"男装"后点击"搜索", 则跳转到"男装"的搜索界面.2. 空白处"右击"再点击"检查"审查网页元素, 点
2023-01-30

Python如何爬取某宝男装信息

本篇内容介绍了“Python如何爬取某宝男装信息”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!实现步骤1. 分析目标网站1. 打开某宝首页,
2023-06-21

如何用python+selenium爬取淘宝美食

今天就跟大家聊聊有关如何用python+selenium爬取淘宝美食,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言今天为大家介绍一个利用Python的selenium打开浏览器的
2023-06-02

怎样用Python爬取淘宝评论数据

今天就跟大家聊聊有关怎样用Python爬取淘宝评论数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。【项目准备工作】1. 准备Pycharm,下载安装等,不会安装的,可以回复:pyt
2023-06-01

python 爬取mm信息

# -*- coding:utf-8 -*- import requestsfrom bs4 import BeautifulSoupimport sysimport rereload(sys)sys.setdefaultencoding(
2023-01-31

python爬取主播信息

之前学过python的爬虫技术,现在回顾一下看看还会不会,果然有坑。先爬取了微博评论网友的id代码如下import requestsurl = 'https://m.weibo.cn/api/comments/show?id=4188633
2023-01-31

Python爬虫实战之如何采集淘宝商品信息并导入EXCEL表格

本篇内容主要讲解“Python爬虫实战之如何采集淘宝商品信息并导入EXCEL表格”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python爬虫实战之如何采集淘宝商品信息并导入EXCEL表格”吧!
2023-06-16

python爬取nba今天的信息

最近无聊在写python爬虫,分享一个爬去nba今天信息的python脚本,可能没写的美观,有优化的请大神指点!➜  /test sudo vim nba.py#!/usr/bin/python#-*- coding:utf-8 -*-cl
2023-01-31

怎么用python爬取douban信息

本篇内容介绍了“怎么用python爬取douban信息”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先导入库定义保存地址函数解析网址打印爬
2023-06-02

python 爬取新浪微博信息

新浪微博爬取的话需要设计到登录,这里我没有模拟登录,而是使用cookie进行爬取。获取cookie:代码:#-*-coding:utf8-*-from bs4 import BeautifulSoupimport requestsimpor
2023-01-31

python爬取微信信息--显示性别/地

看到一篇有意思的博客 利用微信开放的接口itchat 可以获取登录的微信好友信息 并且利用图像工具显示分析结果 非常的有意思 记录下实现过程 并提供可执行代码首先要 import itchat 库 这个是微信开源的一个接口 用于登录微信并且
2023-01-30

Python网络爬虫与信息提取

Requests安装用管理员身份打开命令提示符:pip install requests测试:打开IDLE:>>> import requests>>> r = requests.get("http://www.baidu.com")>>>
2023-01-31

Python如何爬取b站番剧信息

Python如何爬取b站番剧信息,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。相信很多人都是B站的粉丝吧?因为确实是一个类目都比较齐全的网站,还有各种各样的新番,这是其他网站没
2023-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录