模拟手机端来爬取数据
本文以识货进行举例
文章目录
- 充分利用谷歌浏览器
- 找到我们想要的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 ...
最新文章
- cout 数组_C语言学习笔记(十)二维数组内存预设
- python中的静态方法和类方法
- 使用jQuery实现图片懒加载原理
- Iterator 遍历器的简单使用
- mozilla开源项目学习----智能指针(AutoPtrAutoArrayPtr)(上)
- rx560d linux 图形设计,RX560D与560区别对比:RX 560D和RX 560哪个好
- python打印输出如下图形_python题目要求:输出如下图片中的图形
- java超级玛丽代码_java版超级玛丽源代码
- keil uvisoin软件打开他人的工程文件上面出现黄色感叹号警告标志,后续编译不能生成.o文件而报错
- 三炮的三舅走了,才发觉日子真的不经念叨呀!
- 负雪明烛开通公众号啦~ 欢迎关注「负雪明烛」
- 电脑(伪)大神装B必备,来学几个windows脚本命令
- 如何“避雷”(化解风险)
- SCI 论文投稿时该如何撰写 Highlights?
- 前三周学习Python的心得与感受
- 梯度下降和正规方程的区别
- linux电脑mac地址修改不了怎么办,linux下修改MAC地址问题解决方法
- android菜单栏设置位置,android系统设置setting菜单在哪
- 硬核开源:动漫生成器让照片秒变手绘日漫风!!!
- 复变函数与积分变换习题收藏系列(一)——复数的性质与运算