因为mitmproxy没办法连接数据库所以,只能先把结果保存为txt文件,再读取到数据库中。

在滑动APP界面时,对代码进行分析

import requests
import re
import urllibdef requets(flow):flow.request.headers['User-Agent'] = 'MitmProxy'print(flow.request.headers)

保存到文本:点击下载

爬取程序

from mitmproxy import ctx
import jsondef response(flow):print('获取列表数据中...')#url = 'http://mapi.dangdang.com/index.php?cat_path_text=%E6%80%BB%E6%A6%9C&img_size=b&bang_name_text=%E5%9B%BE%E4%B9%A6%E7%95%85%E9%94%80%E6%A6%9C&access-token=&permanent_id=20190405192112099238317917598184509&ischildren=0&bang_name=bestsell&user_client=android&pagesize=10&union_id=537-100380&time_code=849e796eaa9e66cae342dd1f47c5f032&action=bang_tushu&page=5&global_province_id=151&cat_path=01.00.00.00.00.00&client_version=9.4.2&udid=c906965ad731be703305409f738a1bad&timestamp=1556893369'url = flow.request.urlif flow.request.url.startswith(url):text = flow.response.text#print(text)data = json.loads(text)books = data.get('products')for book in books:info = {'书名': book.get('product_name'),'作者': book.get('author'),'价格': book.get('price').get('dangdang_price'),'封面图片': book.get('img_url'),}ctx.log.info(str(book))with open('D:\\books.txt', 'a', encoding='utf-8') as f:f.write(json.dumps(info, ensure_ascii=False) + '\n')

结果

读取到数据库中

import pymongo
from pymongo import MongoClient
import jsonclient = pymongo.MongoClient('mongodb://admin:admin@localhost:27017/')
db = client['books']
collection = db['book']with open('D:\\books.txt', 'r+', encoding='utf-8') as f:for i in f.readlines():new = json.loads(i)try:if collection.insert(new):print("成功保存到MongoDB")except Exception:print('someing wrong with MongDB')

转载于:https://www.cnblogs.com/Mayfly-nymph/p/10900231.html

mitdump爬取当当网APP图书目录相关推荐

  1. 在当当买了python怎么下载源代码-Python爬取当当网APP数据

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于AirPython ,作者星安果 目标 场景:有时候通过传统的方法去 ...

  2. Python爬取当当网APP数据

    目标 场景:有时候通过传统的方法去爬一些 Web 网页或者 APP,受限于对方的反爬方案,很难爬到想要的数据,这个时候可以考虑使用「Appium」结合「mitmproxy」的方式去爬取数据. 其中,A ...

  3. scrapy爬取当当网Python图书的部分数据

    1.下载scrapy框架 pip install scrapy 2.在E盘下创建一个文件夹scrapy01,在命令行窗体中进入该文件夹 3.创建项目:scrapy startproject 项目名 s ...

  4. 爬取当当网的图书信息之导读

    什么是爬虫 爬虫是用来抓取互联网上信息的程序.程序员可以利用爬虫来干很多事,有些挺酷炫,这里贴出知乎相关问题的网址https://www.zhihu.com/question/29372574 爬虫的 ...

  5. Scrapy爬虫之爬取当当网图书畅销榜

      本次将会使用Scrapy来爬取当当网的图书畅销榜,其网页截图如下:   我们的爬虫将会把每本书的排名,书名,作者,出版社,价格以及评论数爬取出来,并保存为csv格式的文件.项目的具体创建就不再多讲 ...

  6. Python爬虫实战+Scrapy框架 爬取当当网图书信息

    1.环境准备 1.在python虚拟环境终端使用 pip install scrapy下载scrapy依赖库 2.使用scrapy startproject book创建scrapy心目工程 3.使用 ...

  7. 在当当买了python怎么下载源代码-Python爬取当当网最受欢迎的 500 本书

    想看好书?想知道哪些书比较多人推荐,最好的方式就是看数据,接下来用 Python 爬取当当网五星图书榜 TOP500 的书籍,或许能给我们参考参考! Python爬取目标 爬取当当网前500本受欢迎的 ...

  8. scrapy框架的简单使用——爬取当当网图书信息

    ** Scrapy爬取当当网图书信息实例 --以警察局办案为类比 ** 使用Scrapy进行信息爬取的过程看起来十分的复杂,但是他的操作方式与警局办案十分的相似,那么接下来我们就以故事的形式开始Scr ...

  9. java爬取当当网所有分类的图书信息(ISBN,作者,出版社,价格,所属分类等)

    java爬取当当网所有分类的图书信息(ISBN,作者,出版社,价格,所属分类等) 顺手写的,没有建立新项目,放我自己的项目的一个文件夹里了,有兴趣的朋友可以拉下来试试 https://gitee.co ...

最新文章

  1. redis消息队列写入mysql_redis怎么实现将消息队列持久化到数据库中?
  2. vb 取得计算机名及目录
  3. SpringBoot(五)ResponseBodyAdvice
  4. TabSpec与TabHost
  5. oracle 查看索引类别以及查看索引字段被引用的字段方法
  6. 使用ASP生成HTML文件
  7. python与Java线程实现方式的对比
  8. 连接数据库报“You have an error in your SQL syntax”异常的解决
  9. 年审是当月还是当天_车检是按月份还是日期 审车日期以什么为准
  10. python测试开发django-44.xadmin上传图片和文件
  11. 分布式缓存原理——一致性hash算法(hash环)、Hash槽
  12. 从零开始掌握Python机器学习(附不可错过的资源)
  13. 【HTML5CSS3进阶学习01】气泡组件的实现
  14. sass函数:@function
  15. android api版本 闪退_解决 Android 升级 SDK API 27 过程中遇到的问题
  16. 电商常用三大数据分析模型--深入浅出
  17. 一个简单的轮播图代码
  18. ARX中各种坐标系及Transfrom操作相关
  19. 计算机无法识别点读笔,点读笔插电脑上不识别
  20. .doc文件不显示word图标的解决方法

热门文章

  1. 设计模式系列之七大原则之——迪米特法则
  2. 杭电acm 2177 取(2堆)石子游戏(威佐夫博弈)
  3. mysql---mysql查看数据库操作记录
  4. idea 中使用 jetty 插件
  5. Intellij IDEA设置忽略部分类编译错误
  6. 控制項學習三(從繼承開始)
  7. 指令级并行--计算机体系结构
  8. typescript赋值
  9. react复制内容到剪贴板
  10. java jxl之Excel的创建