模拟手机端来爬取数据
本文以识货进行举例
文章目录
- 充分利用谷歌浏览器
- 找到我们想要的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"])
为了验证是否真的通过模拟手机端来进行访问,打印返回的头部信息
仔细观察发现和浏览器显示的返回的头部信息是一样的
当我们使用电脑访问时,返回的是
确实不一样,大功告成!
模拟手机端来爬取数据相关推荐
- 如何从twitter上爬取数据?
如何从twitter上获取数据 这段时间在做毕设,需要从twitter上获取一些数据.过程中遇到了很多坑,在这里和大家分享一下~ 首先,这个流程是怎样的呢? 你需要一架梯子 你需要有一个twitter ...
- python爬去新浪微博_!如何通过python调用新浪微博的API来爬取数据
python抓取新浪微博,求教 爬手机端 可以参考的代码, #-*-coding:utf8-*- import smtplib from email.mime.text import MIMEText ...
- python爬取新闻并归数据库_Python爬取数据并写入MySQL数据库操作示例
Python爬取数据并写入MySQL数据库的实例 首先我们来爬取 http://html-color-codes.info/color-names/ 的一些数据. 按 F12 或 ctrl+u 审查元 ...
- python requests 爬取数据
python requests 爬取数据 import requests from lxml import etree import time import pymysql import json h ...
- 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 ...
- Jsoup:用Java也可以爬虫,怎么使用Java进行爬虫,用Java爬取网页数据,使用Jsoup爬取数据,爬虫举例:京东搜索
Jsoup:用Java也可以爬虫,怎么使用Java进行爬虫,用Java爬取网页数据,使用Jsoup爬取数据,爬虫举例:京东搜索 一.资源 为什么接下来的代码中要使用el.getElementsByTa ...
- python爬去百度文库_利用Python语言轻松爬取数据[精品文档]
利用 Python 语言轻松爬取数据 对于小白来说,爬虫可能是一件非常复杂. 技术门槛很高的事情. 比如有人认为学爬虫必须精通 Python ,然后哼哧哼哧系统学习 Python 的每个知识点,很久之 ...
- python爬取mysql数据_Python爬取数据并写入MySQL数据库的实例
Python爬取数据并写入MySQL数据库的实例 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: Python爬取数据并写入MySQL数据库的实例.txt ] (友 ...
- 爬虫篇——selenium(webdriver)进行用户登录并爬取数据)
爬虫篇--selenium(webdriver)进行用户登录并爬取数据 摘要 (一)创建browser对象 (二)用户登录 (三)数据爬取 摘要 本文主要介绍了如何通过selenium使用Chorme ...
最新文章
- Unity从零开始构建能力体系 Unity Ability System
- eclipse设置java虚拟机内存大小
- linux ubuntu systemd-udevd进程 cpu占用过高 解决方法
- C语言用指针求两个矩阵的差,求破C语言用指针和函数求转置矩阵
- 02_3中方式的反射,通过Class.forName获得Class对象,通过类.class获得字节码对象,通过类实例.getClass()的方式获得Class对象
- Gartner最新发布:2017年十大战略技术趋势
- CCF计算机职业资格认证2016-12-1
- 损失函数,梯度下降与牛顿法
- 论文浅尝 | 通过知识到文本的转换进行知识增强的常识问答
- (18)Verilog HDL结构:initial语句
- Hyper-V -- Windows 2008r2虚拟化高可用群集
- BZOJ3925: [Zjoi2015]地震后的幻想乡
- CA系统(概念、结构和功能)和CA证书
- 【PYTHON】【requests】【自定义authen,requests.auth AuthBase】
- 图文演示戴尔win10重装系统步骤
- JDK8新特性-Lambda
- WPF中的StackPanel、WrapPanel、DockPanel
- Mac平台第三方网站下载
- Tinyxml一一利用tinyxml读取节点元素属性值
- 企业局域网如何搭建?