iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python 爬取mm信息
  • 393
分享到

python 爬取mm信息

信息pythonmm 2023-01-31 01:01:46 393人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

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

# -*- 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')['src']
                print "***********************************" + model.find('a', {'class': 'lady-name'}).string + "*********************************"
                print "\n"
		
            except:
                print "error"
    except:
        print num + "page is error"


--结束END--

本文标题: python 爬取mm信息

本文链接: https://www.lsjlt.com/news/183884.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作