抓取taobaomm 信息
抓取taobaomm 信息
qianjunpeng 发表于2年前
抓取taobaomm 信息
  • 发表于 2年前
  • 阅读 4
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

import urllib.request,urllib.parse
import json,pymysql,re

try:
    conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='word',charset='utf8')
    cur = conn.cursor()
    print('连接mysql成功')
except:
    print('连接mysql失败')
    pass

def getimg(ID):
    url = 'https://mm.taobao.com/self/aiShow.htm?userId=%s'%ID
    html = urllib.request.urlopen(url).read().decode('GBK')
    reg = r'<img style="float: none;margin: 10.0px;" src="(.*?)"/>'
    list1 = re.findall(reg,html)
    return list1

def getlist():
    url = 'https://mm.taobao.com/tstar/search/tstar_model.do?_input_charset=utf-8'
    data = {
    'q':'',
    'viewFlag':'A',
    'sortType':'default',
    'searchStyle':'',
    'searchRegion':r'city:',
    'searchFansNum':'',
    'currentPage':'1',
    'pageSize':'1000'
    }
    data = urllib.parse.urlencode(data).encode('utf-8')     #数据类型编码的,需要对应编码,不然报错。
    reg = urllib.request.Request(url,data)                  #构造,request后面的Request很蛋疼
    html = urllib.request.urlopen(reg).read()
    html = html.decode('gbk')                               #解码GBK
    html_json = json.loads(html)
    for i in html_json['data']['searchDOList']:
        name = i['realName']                                #其中有人名字中带单引号的,格式化语句后,导致语句出错,无法插入mysql。
        if "'"in name:
            name = name.replace("'","")
        sql = "INSERT INTO user (userID,city,height,realName,totalFavorNum,weight) VALUES (\'%s\',\'%s\',\'%s\',\'%s\',\'%s\',\'%s\')" % (i['userId'], i['city'],i['height'],name,i['totalFavorNum'],i['weight']) 
        print(sql)
        cur.execute(sql)
        for x in getimg(i['userId']):
            x = 'http:'+ x
            sql = "INSERT INTO img (userid,imgsrc) VALUES (\'%s\',\'%s\')" % (i['userId'],x)
            cur.execute(sql)
            
getlist()
cur.close()
conn.close()

输入图片说明

  1. 要点就是用户名处理,防止语句错误
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 13
码字总数 4592
×
qianjunpeng
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: