本文以识货进行举例

文章目录

  • 充分利用谷歌浏览器
  • 找到我们想要的API数据
  • 观察请求头
  • 观察参数
  • 结果

充分利用谷歌浏览器

谷歌浏览器可以模仿手机进行对网页的访问

点击上面的图标就可以选择模仿手机对网页的访问,还可以选择具体的型号

找到我们想要的API数据

我搜索了名为Nike Odyssey React的鞋

在网络的请求中可以看到名为getSupplier的请求中包含了我们想要的数据

观察请求头


这就是模仿手机进行访问的请求头,可以直接写入headers

headers = {'Accept': 'application/json','Content-Type': 'application/x-www-form-urlencoded','Origin': 'http://m.shihuo.cn','Referer': 'http://m.shihuo.cn/sports/detail/98310.html,'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1','X-Requested-With': 'XMLHttpRequest'
}

观察参数

请求中已经包含了将要请求的链接

但是仔细观察整个请求

会发现还有一些参数没有加入到链接中

form_data = {'id': '98310','page': '1','page_size': '5','style_id': '','supplier_id': '','size': ''
}

结果

完整代码

import requests
import jsonheaders = {'Accept': 'application/json','Content-Type': 'application/x-www-form-urlencoded','Origin': 'http://m.shihuo.cn','Referer': 'http://m.shihuo.cn/sports/detail/98310.html','User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1','X-Requested-With': 'XMLHttpRequest'
}form_data = {'id': '98310','page': '1','page_size': '5','style_id': '','supplier_id': '','size': ''
}url = 'http://m.shihuo.cn/sports/getSupplier/'
r = requests.get(url, params=form_data, headers=headers)
json_data = json.loads(r.text)
print(r.headers)
print(json_data["data"]["filter"])

为了验证是否真的通过模拟手机端来进行访问,打印返回的头部信息

仔细观察发现和浏览器显示的返回的头部信息是一样的

当我们使用电脑访问时,返回的是


确实不一样,大功告成!

模拟手机端来爬取数据相关推荐

  1. 如何从twitter上爬取数据?

    如何从twitter上获取数据 这段时间在做毕设,需要从twitter上获取一些数据.过程中遇到了很多坑,在这里和大家分享一下~ 首先,这个流程是怎样的呢? 你需要一架梯子 你需要有一个twitter ...

  2. python爬去新浪微博_!如何通过python调用新浪微博的API来爬取数据

    python抓取新浪微博,求教 爬手机端 可以参考的代码, #-*-coding:utf8-*- import smtplib from email.mime.text import MIMEText ...

  3. python爬取新闻并归数据库_Python爬取数据并写入MySQL数据库操作示例

    Python爬取数据并写入MySQL数据库的实例 首先我们来爬取 http://html-color-codes.info/color-names/ 的一些数据. 按 F12 或 ctrl+u 审查元 ...

  4. python requests 爬取数据

    python requests 爬取数据 import requests from lxml import etree import time import pymysql import json h ...

  5. python3爬取数据存入mysql_Python如何爬取51cto数据并存入MySQL

    实验环境 1.安装Python 3.7 2.安装requests, bs4,pymysql 模块 实验步骤1.安装环境及模块 2.编写代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

  6. Jsoup:用Java也可以爬虫,怎么使用Java进行爬虫,用Java爬取网页数据,使用Jsoup爬取数据,爬虫举例:京东搜索

    Jsoup:用Java也可以爬虫,怎么使用Java进行爬虫,用Java爬取网页数据,使用Jsoup爬取数据,爬虫举例:京东搜索 一.资源 为什么接下来的代码中要使用el.getElementsByTa ...

  7. python爬去百度文库_利用Python语言轻松爬取数据[精品文档]

    利用 Python 语言轻松爬取数据 对于小白来说,爬虫可能是一件非常复杂. 技术门槛很高的事情. 比如有人认为学爬虫必须精通 Python ,然后哼哧哼哧系统学习 Python 的每个知识点,很久之 ...

  8. python爬取mysql数据_Python爬取数据并写入MySQL数据库的实例

    Python爬取数据并写入MySQL数据库的实例 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  Python爬取数据并写入MySQL数据库的实例.txt ] (友 ...

  9. 爬虫篇——selenium(webdriver)进行用户登录并爬取数据)

    爬虫篇--selenium(webdriver)进行用户登录并爬取数据 摘要 (一)创建browser对象 (二)用户登录 (三)数据爬取 摘要 本文主要介绍了如何通过selenium使用Chorme ...

最新文章

  1. Unity从零开始构建能力体系 Unity Ability System
  2. eclipse设置java虚拟机内存大小
  3. linux ubuntu systemd-udevd进程 cpu占用过高 解决方法
  4. C语言用指针求两个矩阵的差,求破C语言用指针和函数求转置矩阵
  5. 02_3中方式的反射,通过Class.forName获得Class对象,通过类.class获得字节码对象,通过类实例.getClass()的方式获得Class对象
  6. Gartner最新发布:2017年十大战略技术趋势
  7. CCF计算机职业资格认证2016-12-1
  8. 损失函数,梯度下降与牛顿法
  9. 论文浅尝 | 通过知识到文本的转换进行知识增强的常识问答
  10. (18)Verilog HDL结构:initial语句
  11. Hyper-V -- Windows 2008r2虚拟化高可用群集
  12. BZOJ3925: [Zjoi2015]地震后的幻想乡
  13. CA系统(概念、结构和功能)和CA证书
  14. 【PYTHON】【requests】【自定义authen,requests.auth AuthBase】
  15. 图文演示戴尔win10重装系统步骤
  16. JDK8新特性-Lambda
  17. WPF中的StackPanel、WrapPanel、DockPanel
  18. Mac平台第三方网站下载
  19. Tinyxml一一利用tinyxml读取节点元素属性值
  20. 企业局域网如何搭建?

热门文章

  1. python中关系运算符惰性求值,lazy.js 惰性求值实现分析
  2. 谷歌浏览器安装Selenium IDE插件
  3. 没有网线接口的MacBook电脑怎么连接有线网络?USB外置网卡来帮忙
  4. 计算机画图怎样更改文字,如何在图片上改字|超简单的修改图片里文字方法
  5. Mindjet MindManager思维导图空间快捷键
  6. pandas文件保存操作
  7. 一个简单的登录注册网页的实现
  8. 【毕业设计】基于单片机的心率检测系统 - stm32 物联网 嵌入式
  9. cocos2dx 特效 3D特效
  10. Verilog编程之道 - Verilog语言特性