爬点重口味的 。

读者来稿 。BTW ,加星标不迷路噢 !

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,对面的女孩看过来(邪恶的一笑),让人想入非非啊,一看卧槽,左边这妹子彻底赢了,这(**)这么大,还这么漂亮,谁受的了啊,都快流鼻血。。。

然后小弟冥思苦想,得干一点有趣的事情,想了想,python 这么叼,来个Python爬取奶罩信息的案例试试。于是乎,小弟迫不及待了,想要撸一把(当然是代码啦)

大家随我去逛逛淘宝商城吧,驾驾驾,快马加鞭,当当当,一搜,好多啊,好漂亮啊,好大啊,上图上图,小心你的鼻子哦(嘻嘻)

好,今天我们就来好好的撸一把吧,爽他一吧。准备给大家来一波午夜福利 。我们来看看我们今天需要用到什么利器,

神器准备

import requests
import json
import csv
  1. requests 库:就想象成你搜索美图链接,
  2. json 库:就是数据加载了,你看到了大奶妞那张图
  3. csv 库:你想想,这样不过瘾啊,必须把它保存下来啊,每天看她个几百遍

经过我的使尽吃奶的力气,分析了一遍,闻到了阵阵奶香的味道。我们把它的请求链接拿出来研究一下

https://s.taobao.com/api?_ksTS=1540176287763_226&callback=jsonp227&ajax=true&m=customized&sourceId=tb.index&_input_charset=utf-8&bcoffset=-1&commend=all&suggest=history_1&source=suggest&search_type=item&ssid=s5-e&suggest_query=&spm=a21bo.2017.201856-taobao-item.2&q=内衣女&s=36&initiative_id=tbindexz_20170306&imgfile=&wq=&ie=utf8&rn=9e6055e3af9ce03b743aa131279aacfd

经过各种奇淫技巧,原来她。。。

https://s.taobao.com/api?callback=jsonp227&m=customized&q=内衣女&s=36

行了,开撸吧。老铁们,稳住,上车了

功能实现

根据我们的火眼金睛,对奶罩各种信息的分析,看穿秋水啊,鼻血就差一点流出来了,还好忍住了,代码应该这样撸:

import requests
import json
url = "https://s.taobao.com/api?callback=jsonp227&m=customized&q=内衣女&s=36"
r = requests.get(url)
response = r.text
# 截取成标准的JSON格式
# 由于Ajax返回的数据是字符串格式的饿,在返回的值jsonp227(XXX)中
# XXX部分是JSON格式数据,因此先用字符串split()截取XXX部分,
#然后将XXX部分由字符串格式转成JSON格式的数据读取
response = response.split('(')[1].split(')')[0]
# 读取JSON
response_dict = json.loads(response)
# 定位到商品信息列表
response_auctions_info = response_dict['API.CustomizedApi']['itemlist']['auctions']

想了又想,时间过的太快了,不行啊,只看一遍不行,来他个88遍循环,爽个够吧,兄弟们,(脑壳不疼?):

for p in range(88):
    url = "https://s.taobao.com/api?callback=jsonp227&m=customized&q=内衣女&s=%s" % (p)
    r = requests.get(url)
    # 获取响应信息字符串
    response = r.text
    # 转换成JSON格式
    response = response.split('(')[1].split(')')[0]
    # 加载数据
    response_dict = json.loads(response)
    # 商品信息
    response_auctions_info = response_dict['API.CustomizedApi']['itemlist']['auctions']

还是看的不爽啊,再加一层,:

for k in ['内衣女','内衣']:
for p in range(88):
    url = "https://s.taobao.com/api?callback=jsonp227&m=customized&q=%s&s=%s" % (k,p)
    r = requests.get(url)
    response = r.text
    response = response.split('(')[1].split(')')[0]
    response_dict = json.loads(response)
    # 商品信息
    response_auctions_info = response_dict['API.CustomizedApi']['itemlist']['auctions']

数据存储

你想了又想,要是今天看爽了,那明天要是想再看看呢,怎么办啊,小弟告诉你个好方法,偷偷的点击收藏啊,保存下来啊,小弟现在就教你如何储存奶罩信息:

def get_auctions_info(response_auctions_info,file_name):
    with open(file_name,'a',newline='') as csvfile:
        # 生成CSV对象,用于写入CSV文件
        writer = csv.writer(csvfile)
        for i in response_auctions_info:
            # 判断是否数据已经记录
            if str(i['raw_title']) not in auctions_distinct:
                # 写入数据
                # 分别是商品信息列表和CSV文件路径。
                # 但该文件并没有对CSV设置表头,所以在开始获取数据之前。
                # 应该生成对应CSV文件,并设定其表头
                writer.writerrow([i['raw_title'],i['view_price'],i['view_sales'],i['nick'],i['item_loc']])

                auctions_distinct.append(str(i['raw_title']))
        csvfile.close()

哇,好辛苦啊,撸的这么辛苦,希望各位尽情享受吧 。最后贴出爬取内容信息如下:

内衣信息

总结

  1. 祝大家泡妞成功
  2. 给老婆买这个,记得回来看这篇文章哦
  3. 去除无用的链接的参数,简化链接
  4. 分析URL的请求参数含义以及响应内容的数据规律
  5. 数据储存的去重判断

原文发布于微信公众号 - 小詹学Python(xiaoxiaozhantongxue)

原文发表时间:2018-10-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python数据科学

手把手教你制作一个动态炫酷的可视化图表(历年中国大学学术排行榜)

摘要::最近在朋友圈看到一个很酷炫的动态数据可视化表,介绍了新中国成立后各省GDP的发展历程,非常惊叹竟然还有这种操作,也想试试。于是,照葫芦画瓢虎,在网上爬取...

4K10
来自专栏Python攻城狮

爬取拉勾网招聘信息并使用xlwt存入Excel

通过浏览器自带的开发者工具查看是通过Post方式提交的,数据是通过Ajax(异步加载)得到的

884
来自专栏崔庆才的专栏

使用requests+正则表达式爬取猫眼电影排行

本节中,我们利用requests库和正则表达式来抓取猫眼电影TOP100的相关内容。requests比urllib使用更加方便,而且目前我们还没有系统学习HTM...

7657
来自专栏日常学python

爬取《The Hitchhiker’s Guide to Python!》python进阶书并制成pdf

这是日常学python的第15篇原创文章 前几篇文章我们学习了requests库和正则,还有个urllib库,我上篇文章也用了requests库来教大家去爬那些...

44117
来自专栏点滴积累

geotrellis使用(十)缓冲区分析以及多种类型要素栅格化

目录 前言 缓冲区分析 多种类型要素栅格化 总结 参考链接 一、前言        上两篇文章介绍了如何使用Geotrellis进行矢量数据栅格化以及栅格渲染,...

3698
来自专栏jouypub

Spring Task中cron表达式详解

_{秒}:取值范围(0-59),不允许为空值,若值不合法,调度器将抛出SchedulerException异常

1701
来自专栏云飞学编程

跟我学爬虫,看大神不到30行代码做的一个简单爬虫!

已经看了那么多基础知识了,下面我们做几个实战项目来挑战一下吧。这次为大家带来,Python爬取校花网美女图片的例子。

2862
来自专栏落影的专栏

Audio Unit播放PCM文件

前言 相关文章: 使用VideoToolbox硬编码H.264 使用VideoToolbox硬解码H.264 使用AudioToolbox编码AAC 使...

5286
来自专栏Python数据科学

Python爬虫之一个海贼迷的呐喊

海贼王已经10年了,一路陪伴了我们的点点滴滴。它热血,激情,感人,欢乐,吸引了无数男女老少的紧紧跟随。

1233
来自专栏web前端教室

【蒙圈】自己写的Js,自己不认识了?

但是,下课之前我说,今天的作业,如何如何要求,格式什么样,标明用了多长时间,然后就有同学在学习群里问我,。。原话记不太清了,大概意思就是,自己写的看不明白了,还...

1484

扫码关注云+社区

领取腾讯云代金券