本实例实现了抓取淘宝网中以‘python’为关键字的搜索结果,经详细查看数据存储于html文档中的js脚本中,数据类型为JSON

具体实现代码如下:

import requests
import re
import json
from urllib.parse import urlencode
from bs4 import BeautifulSoup
finalstr = ''
count = 0 #初始化页码对应参数,0为首页
test = 0 #初始化数据总条数
for j in range(0,100): #共搜索100页数据
count = 44*j #每跳一页参数值增加44
data = {
'q':'python',
'imgfile':'',
'js':'',
'stats_click':'search_radio_all:1',
'initiative_id':'staobaoz_20170529',
'ie':'utf8',
'bcoffset':'',
'ntoffest':'',
'p4ppushleft':'1,48',
's':count
} #浏览器地址的get参数,只有's'会随着页码改变而改变
url = 'https://s.taobao.com/search?' + urlencode(data) #浏览器地址
req = requests.get(url)
pattern = re.compile('g_page_config = (.*?);\n g_srp_loadCss()') #正则表达式匹配数据
result = pattern.search(req.text)
# result.group(1)
jsres = json.loads(result.group(1)) #匹配后获得的json数据深度比较大,需要层层剖析
sedata = jsres['mods'][ 'itemlist']['data']['auctions'] #经过剖析后的json数据
for i in range(0,len(sedata)):
rt = '标题:'+sedata[i]['raw_title']+'\n'
finalstr += rt
rp = '价格:'+sedata[i]['view_price']+'\n'
finalstr += rp
rn = '卖家:'+sedata[i]['nick']+'\n'
finalstr += rn
rd = '地址:'+sedata[i]['item_loc']+'\n\n'
finalstr += rd
print('当前正在读取第'+str(j+1)+"页的第"+str(i+1)+'条数据...')
test += 1
f = open('淘宝搜索python时的商品数据,共'+str(test)+'条.txt','w',1,'UTF-8') #保存数据到TXT
f.write(finalstr)
print('正在保存。。。')
f.close()
print('保存完毕!共'+str(test)+'条数据')

Python实例之抓取淘宝商品数据(json型数据)并保存为TXT的更多相关文章

  1. Python爬虫,抓取淘宝商品评论内容!

    作为一个资深吃货,网购各种零食是很频繁的,但是能否在浩瀚的商品库中找到合适的东西,就只能参考评论了!今天给大家分享用python做个抓取淘宝商品评论的小爬虫! 思路 我们就拿"德州扒鸡&qu ...

  2. Python实例之抓取网易云课堂搜索数据(post方式json型数据)并保存到数据库

    本实例实现了抓取网易云课堂中以‘java’为关键字的搜索结果,经详细查看请求的方式为post,请求的结果为JSON数据 具体实现代码如下: import requests import json im ...

  3. Python实例之抓取HTML中的数据并保存为TXT

    本实例实现了抓取捧腹网中存储于html中的笑话数据(非JSON数据) 通过浏览器相关工具发现捧腹网笑话页面的数据存储在HTML页面而非json数据中,因此可以直接使用soup.select()方法来抓 ...

  4. 爬取淘宝商品数据并保存在excel中

    1.re实现 import requests from requests.exceptions import RequestException import re,json import xlwt,x ...

  5. selenium抓取淘宝数据报错:warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless

    ssh://root@192.168.33.12:22/root/anaconda3/bin/python3 -u /www/python3/maoyantop100/meishi_selenium. ...

  6. python+selenium+chromedriver抓取shodan搜索结果

    作用:免积分抓取shodan的搜索结果,并把IP保存为txt 前提: ①shodan会员(ps:黑色星期五打折) ②安装有python27 ③谷歌浏览器(ps:版本一定要跟chromedriver匹配 ...

  7. 简单的抓取淘宝关键字信息、图片的Python爬虫|Python3中级玩家:淘宝天猫商品搜索爬虫自动化工具(第一篇)

    Python3中级玩家:淘宝天猫商品搜索爬虫自动化工具(第一篇) 淘宝改字段,Bugfix,查看https://github.com/hunterhug/taobaoscrapy.git 由于Gith ...

  8. Python爬虫实战四之抓取淘宝MM照片

    原文:Python爬虫实战四之抓取淘宝MM照片其实还有好多,大家可以看 Python爬虫学习系列教程 福利啊福利,本次为大家带来的项目是抓取淘宝MM照片并保存起来,大家有没有很激动呢? 本篇目标 1. ...

  9. python(27) 抓取淘宝买家秀

    selenium 是Web应用测试工具,可以利用selenium和python,以及chromedriver等工具实现一些动态加密网站的抓取.本文利用这些工具抓取淘宝内衣评价买家秀图片. 准备工作 下 ...

随机推荐

  1. SpringBoot 2.0 pom.xml 配置(热启动)

    <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven ...

  2. ImportError: No module named _tkinter, please install the python-tk package ubuntu运行tkinter错误

    这是由于Python的版本没有包含tkinter的模块,只需要把tk的package安装就可以了. 一般在Linux才出现,windows版本一般已经包含了tkinter模块. apt-get ins ...

  3. mpeg2文件分析(纯c解析代码)

    参考链接: 1. MPEG-2码流结构分析 https://www.cnblogs.com/CoderTian/p/9246225.html(本文语法采用这里的截图,代码原创) 1. mpeg2的码流 ...

  4. Java——继承的运行顺序

    首先看一个代码 父类代码: public class Parent { { System.out.println("Parent非静态代码块"); } static { Syste ...

  5. s5p6818开发板uboot网络开通

    手上的开发板网络默认是不通的,但是通过阅读uboot源码,发现uboot源码中,是有对这个网络的初始化的实现的函数的,只不过是没有调用而已,所以,要手动调用这个函数,把板子的网络调通: 首先是遇到了这 ...

  6. There/Here be句型

    (1)There/Here + (be)根据上下文, 有多种翻译方法,可以翻译成"有", "是". be动词根据后面的名词有单复数变化. There is a ...

  7. shell脚本登录数据库

    #!/bin/bashHOSTNAME="localhost" #数据库信息 PORT="3306" USERNAME="root" PAS ...

  8. Introduction to Unity UI

    https://www.raywenderlich.com/795-introduction-to-unity-ui-part-1 https://www.raywenderlich.com/794- ...

  9. Beta冲刺 5

    前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/10129059.html 作业博客:https://edu.cnblogs.com/campus ...

  10. Java中的静态方法和实例方法的调用的理解(不同的类下的方法调用)

    public class MethodCall { public static void main(String[] args) { Test.sayStatic(); Test test = new ...