文档章节

抓取taobaomm 信息

q
 qianjunpeng
发布于 2016/08/07 12:50
字数 266
阅读 4
收藏 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. 要点就是用户名处理,防止语句错误

© 著作权归作者所有

共有 人打赏支持
q
粉丝 0
博文 13
码字总数 4592
作品 0
杭州
快速构建实时抓取集群

本文转载自搜淘宝索技术博客,描述了实时抓取集群的架构。其架构中使用Redis作为核心的LinkBase存储,包括了使用List结构来存储抓取队列,使用Hash结构来存储链接表及使用Sorted Sets结构来存...

红薯
2011/07/31
1K
0
Python抓取淘宝女装信息(二)

继上周的淘宝女装连衣裙信息爬虫进一步完善,进行了次级页面信息的抓取、支持多进程。 数据说明: 本次爬取淘宝女装连衣裙共8个字段信息,包括:商品ID、店铺ID、店铺地址、店铺名称、商品名...

超人
2016/12/18
0
0
趁头发还未掉光,记录一次利用Python抓取相亲网站的美女信息!

背景: 老妈天天像催债一样催我娶媳妇,有没有对象呀,头都快秃完了,没对象赶紧回来相亲吧..... 都是乡里乡亲的,叫我怎么好意思相亲,每次都是简单的应付几句,最近无意中看到了一些相亲网...

Python新世界
07/26
0
0
WinDbg抓取程序报错dump文件的方法

程序崩溃的两种主要现象: a. 程序在运行中的时候,突然弹出错误窗口,然后点错误窗口的确定时,程序直接关闭 例如: “应用程序错误” “C++错误之类的窗口” “程序无响应” “假死”等 此...

1886317979982165
03/15
0
0
通过GET_SQL包抓SQL方法

1 运行机制# 适用于在生产环境抓取sql的情况,由于一个库可能存在多个人同时对不同的表抓取相关sql做影响分析或者性能对比。该存储过程从配置表读取需要抓取sql语句表的相关信息以及抓取次数...

ianLi
2012/11/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

RabbitMq异常处理

1.查找指定文件位置 find . -name "*erlang.cookie" 2.Rabbitmq异常 ===========根据提示,应该是Erlang的cookie出现问题 attempted to contact: ['rabbit@DESKTOP-RVK1IHE'] rabbit@DESKTO......

zhaochaochao
30分钟前
2
0
Java虚拟机学习笔记

jconsole的连接 JConsole的远程连接 JConsole远程连接配置(用VisualVM进行远程连接的配置和JConsole是一摸一样滴) JVM之jconsole远程连接配置...

OSC_fly
31分钟前
1
0
区块链教程以太坊源码分析downloader-peer源码分析

  兄弟连区块链教程以太坊源码分析downloader-peer源码分析,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让...

兄弟连区块链入门教程
33分钟前
3
0
ubuntu 自定义记录用户登录以及操作日志

root@ms:~# cd /etc#更改之前先备份,养成良好的习惯,否则肠子都要悔青了root@ms:/etc# cp profile profile.bakroot@ms:/etc# vi profile 在文章末尾加入下列shell脚本 history US...

Marhal
33分钟前
2
0
liunx 下使用rpm进行软件卸载

rpm -qa | grep php 列出所有的php相关的rpm包 rpm -e xxx 删除包

bengozhong
33分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部