热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

第二次作业使用Fiddler与python进行爬虫抓取信息

这个作业属于哪个课程https:edu.cnblogs.comcampusfzzcxyZhichengSoftengineeringPracticeFclass这个作业要求在哪里h






















这个作业属于哪个课程https://edu.cnblogs.com/campus/fzzcxy/ZhichengSoftengineeringPracticeFclass
这个作业要求在哪里https://edu.cnblogs.com/campus/fzzcxy/ZhichengSoftengineeringPracticeFclass/homework/12532
这个作业的目标学会使用fiddler工具、git的使用、以及python下requests包的使用
Gitee 地址https://gitee.com/leiwjie/lwj212106766/tree/master/demo1

一、使用 fiddler 抓包工具+代码,实时监控朴朴上某产品的详细价格信息

(1)解题思路



  • 1、安装Fiddler



  • 2、在csdn寻找Fiddler的使用资料

    https://blog.csdn.net/szgyunyun/article/details/104605149?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164726486716780261955716%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164726486716780261955716&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2



  • 3、通过各种尝试后决定用mac端微信打开朴朴小程序



  • 4、启动Fiddler对朴朴商品进行抓包



  • 5、解析包数据拿到想要的json内容





  • 6、找到目标地址使用python爬虫进行抓取和数据清洗


(2)设计实现过程



  • 1.尝试使用目标地址进行访问连接失败

  • 2.去csdn寻找原因最后添加了请求头user-agent连接成功


  • 3.使用requests包请求数据,将放回的json数据转为字典方便数据提取


  • 4.使用time.sleep随机每1分钟抓取一次

  • 5.进行数据展示处理

  • 6.将请求json数据代码快和延时执行抓取价格分别写进函数

#请求网页
def t1():
#发送请求
response_1=requests.get(url, headers=headers)
#设置编码
response_1.encoding='utf-8'
#获取内容
c=response_1.text
#转换成字典
dict=json.loads(c)
data=dict.get('data')
#商品名
name=data.get('name')
#商品价格
price=int_to_float(data.get('price'))
#规格
spec=data.get('spec')
#原价
market_price=int_to_float(data.get('market_price'))
#详情内容
share_cOntent=data.get('share_content')
#标题
sub_title=data.get('sub_title')
print('---------------------------------------------商品: '+name+'------------------------')
print('规格:'+spec)
print('价格:'+ str(price))
print('原价/折扣:'+str(market_price)+'/'+str(price))
print('详情内容:'+share_content)
print()
print('-----------------------------------------------商品: "'+name+'"的价格波动------------------------')
def t2():
#延时执行
while(1):
t=random.randint(60,300)
print('距离下一次抓取'+str(t)+'秒')
time.sleep(t)
#发送请求
response_1=requests.get(url, headers=headers)
#设置编码
response_1.encoding='utf-8'
#获取内容
c=response_1.text
#转换成字典
dict=json.loads(c)
data=dict.get('data')
#商品价格
price=int_to_float(data.get('price'))
#输出当前价格
print('当前时间为'+time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())+', 价格为'+str(price))


  • 7.考虑到会被判定为机器人将间隔时间改为1~5分钟随机抓取



  • 8.gitee推送





推荐阅读
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 本文介绍了一种在PHP中对二维数组根据某个字段进行排序的方法,以年龄字段为例,按照倒序的方式进行排序,并给出了具体的代码实现。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 本文介绍了django中视图函数的使用方法,包括如何接收Web请求并返回Web响应,以及如何处理GET请求和POST请求。同时还介绍了urls.py和views.py文件的配置方式。 ... [详细]
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • 延迟注入工具(python)的SQL脚本
    本文介绍了一个延迟注入工具(python)的SQL脚本,包括使用urllib2、time、socket、threading、requests等模块实现延迟注入的方法。该工具可以通过构造特定的URL来进行注入测试,并通过延迟时间来判断注入是否成功。 ... [详细]
  • Givenasinglylinkedlist,returnarandomnode'svaluefromthelinkedlist.Eachnodemusthavethe s ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
author-avatar
小新
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有