对于页面的抓取,我们使用的是requests,现在大部分的网站都支持动态加载,我们在firefox f12后查找动态的url :http://www.meilishuo.com/aj/shop_list/goods?frame=1&page=0&shop_id=1001072849,这里的frame是变化的,因此我们只需要请求该网址即可,在请求的header中出现nt 参数,而且nt参数是变化的,我们猜测这可能是随时间变化的,而且是有有效期的;我们的工作是如何取得第一次的nt值?我们在访问http://www.meilishuo.com/shop/1001072849 返回的页面中找到了nt的值,ok 工作顺利解决

#-*- coding:utf-8 -*-
import re
import requests
import codecs
import simplejson if __name__=="__main__":
session=requests.Session()
search_header={'Host':'www.meilishuo.com',
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0',
'Accept':'application/json, text/javascript, */*; q=0.01',
'Accept-Language':'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
'Accept-Encoding':'gzip, deflate',
'X-Requested-With':'XMLHttpRequest',#异步加载ajax
'Referer':'http://www.meilishuo.com/shop/1001072849',
'Connection':'keep-alive'}
response=requests.get('http://www.meilishuo.com/shop/1001072849?frm=rate_to_shop') info=re.search('\"nt\":\"(.+?)\",',response.content)
search_header['nt']=info.group(1)#在header中增加nt选项
info1=re.search('<script>Meilishuo.config.poster0 = (.+?);fml.vars.notFluid = true;</script>',response.content)#取得静态页面的info
b=simplejson.loads(info1.group(1))
totalNum = b['totalNum']#取得页数
page = int(totalNum)/20
for i in range(page+1):
a=requests.get('http://www.meilishuo.com/aj/shop_list/goods?frame='+str(i)+'&page=0&shop_id=1001072849',headers=search_header)
print a.headers
j_a=simplejson.loads(a.content)
print len(j_a['tInfo'])

未完待续,接下来的就是要把宝贝的url保存下来并保存为为本地图片

for key in j_a['tInfo']:
                r=requests.get(key['goods_img'])
                with open(key['goods_title']+".jpg","wb") as title:
                        title.write(r.content)

python 抓取美丽说店铺的宝贝图片及详细信息的实现(爬虫)的更多相关文章

  1. Python抓取糗事百科成人版图片

    最近开始学习爬虫,一开始看的是静觅的爬虫系列文章,今天看到糗事百科成人版,心里就邪恶了一下,把图片都爬下来吧,哈哈~ 虽然后来实现了,但还是存在一些问题,暂且不提,先切入正题吧,没什么好说的,直接上代 ...

  2. python抓取bing主页背景图片

    最初Python2写法: #!/usr/bin/env python # -*- coding:utf-8 -*- # -*- author:nancy -*- # python2抓取bing主页所有 ...

  3. 使用 Python 抓取欧洲足球联赛数据

    Web Scraping在大数据时代,一切都要用数据来说话,大数据处理的过程一般需要经过以下的几个步骤    数据的采集和获取    数据的清洗,抽取,变形和装载    数据的分析,探索和预测    ...

  4. python抓取性感尤物美女图

    由于是只用标准库,装了python3运行本代码就能下载到多多的美女图... 写出代码前面部分的时候,我意识到自己的函数设计错了,强忍继续把代码写完. 测试发现速度一般,200K左右的下载速度,也没有很 ...

  5. python抓取知乎热榜

    知乎热榜讨论话题,https://www.zhihu.com/hot,本文用python抓取下来分析 #!/usr/bin/python # -*- coding: UTF-8 -*- from ur ...

  6. Python抓取视频内容

    Python抓取视频内容 Python 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.Python语法简洁而清晰,具 ...

  7. Python 抓取网页并提取信息(程序详解)

    最近因项目需要用到python处理网页,因此学习相关知识.下面程序使用python抓取网页并提取信息,具体内容如下: #---------------------------------------- ...

  8. python抓取网页例子

    python抓取网页例子 最近在学习python,刚刚完成了一个网页抓取的例子,通过python抓取全世界所有的学校以及学院的数据,并存为xml文件.数据源是人人网. 因为刚学习python,写的代码 ...

  9. Python抓取页面中超链接(URL)的三中方法比较(HTMLParser、pyquery、正则表达式) <转>

    Python抓取页面中超链接(URL)的3中方法比较(HTMLParser.pyquery.正则表达式) HTMLParser版: #!/usr/bin/python # -*- coding: UT ...

随机推荐

  1. linux环境tomcat配置及hadoop 2.6伪分布模式安装配置

    一.ubuntu 15.04.openjdk1.7.tomcat7环境配置 1. 配置openjdk1.7,输入命令: -jdk 2. 查看java是否安装成功,输入命令: envjava -vers ...

  2. Oracle的循环和Corsor

    这两天啊有一个心的业务,是须要假设我批量改动数据的话,那么还有一张表的数据也须要改动.也是多条的改动,发现这个问题的时候.自然而然的想到了触发器,可是曾经都是简单的单条语句的跟新,没有过整个表的去做一 ...

  3. Android Apk包下查看 sha1

    用keytool工具查看sha1,格式如下:keytool -printcert -file  Urovo.RSA文件路径(APK解压后在Meta-INF文件夹下)

  4. PHP错误调试

    一:错误类型举例 1.语法错误:一般是语句最后缺少分号.缺少单引号或双引号.for循环或函数缺少花括号.缺少变量标示符$ 2.定义错误:一般是调用不存在的变量.调用不存在的函数或者类 3.逻辑错误:代 ...

  5. EasyNVR H5无插件摄像机直播解决方案前端解析之:监控实时直播的四分屏的前端展示

    完成运行效果图: 一.四分屏展示样式布局 1.通过html.css等来进行样式排版 根据需求的四分屏的样式:来合理的划分出四个大块,分别用于放置四个播放器: 以四等分结构为例进行前端的排版: html ...

  6. power law 幂定律

    y=cx∧a 卖品销量排名与销量

  7. 【题解】Counting D-sets(容斥+欧拉定理)

    [题解]Counting D-sets(容斥+欧拉定理) 没时间写先咕咕咕. vjCodeChef - CNTDSETS 就是容斥,只是难了一二三四五\(\dots \inf\)点 题目大意: 给定你 ...

  8. "静态方法里仅仅能调用静态变量和静态方法"具体解释

    静态方法里能够调用静态方法和静态变量,同一时候也能调用非静态方法和非静态变量. public class Test { public Test() {}; public Test(int i) {th ...

  9. FastJson处理Map List 对象

     Fastjson是一个Java语言编写的高性能功能完善的JSON库. Fastjson是一个Java语言编写的JSON处理器,由阿里巴巴公司开发. 1.遵循http://json.org标准,为其官 ...

  10. 用fiddler替换线上网页资源调试界面

    fiddler 是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有进出fiddler的数据(指cookie,html,js,css等文件,这些都 ...