4种Python爬虫(4. 手机APP,如,乐刻运动)

4种Python爬虫(4. 手机APP,如,乐刻运动),第1张

目录:

1. PC网页爬虫

2. H5网页爬虫

3. 微信小程序爬虫

4. 手机APP爬虫

爬取乐刻运动手机APP的课表数据。Android和iOS都可以。

要制定具体方案,还是要从抓包分析开始。

如果你在前一章《三、微信小程序爬虫》中已经搭建好了Charles+iPhone的抓包环境,可以直接启动“乐刻APP”再来抓一波。

LefitAppium.py

LefitMitmAddon.py

接下来就是见证奇迹的时刻了!

可以看到左侧的手机已经自动跑起来了!

所有流过的数据都尽在掌握!

这个方案的适应能力非常强,不怕各种反爬虫机制。

但是如果要去爬取淘宝、携程等海量数据时,肯定也是力不从心。

基础工作:

内置元素选择器

序列化存储数据

处理cookie、HTTP些东西间件

爬取 Sitemap 或者 RSS

等等

我需求爬取 Google Play 市场所 App 页面链接及载数量

首先确保配置 Python 2.7, MongoDB 数据库, 及 Python pip 包管理系统

安装应 Python 包并且项目模板:

pip install scrapy scrapy-mongodb

scrapy startproject app

cd app

scrapy genspider google

app/spider/google.py 换面内容:

`# -*- coding: utf-8 -*-

import scrapy

from scrapy.contrib.spiders import CrawlSpider, Rule

from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor

from scrapy.contrib.linkextractors import LinkExtractor

from app.items import GoogleItem

class GoogleSpider(CrawlSpider):

name = "google"

allowed_domains = ["play.google.com"]

start_urls = [

'',

''

]

rules = [

Rule(LinkExtractor(allow=("\.google\.com/store/apps/details", )), callback='parse_app',follow=True),

] # CrawlSpider 根据 rules 规则爬取页面并调用函数进行处理

def parse_app(self, response):

# 获取页面 URL 及载数量

item = GoogleItem()

item['url'] = response.url

item['num'] = response.xpath("//div[@itemprop='numDownloads']").xpath("text()").extract()

yield item

app/items 添加面代码:

class GoogleItem(scrapy.Item):

url = scrapy.Field()

num = scrapy.Field()

app/setting.py 面添加面代码

# 配置 scrapy-mongodb 数据库连接用于自爬取数据存入 MongoDB

ITEM_PIPELINES = [

'scrapy_mongodb.MongoDBPipeline',

]

MONGODB_URI = 'mongodb://127.0.0.1:27017'

MONGODB_DATABASE = 'scrapy'

MONGODB_COLLECTION = 'play'

没其工作连配置文件共四十行启 MongoDB项目目录运行

scrapy crawl google -s JOBDIR=app/jobs

静静等跑完吧-s JOBDIR=app/jobs 参数意思工作状态已经爬取页面数据存 app/jobs 目录即使间断运行面命令该目录恢复工作用重新始

我 Linode 低配 VPS 跑概 40 MongoDB 数据 156 万条记录2015 1 月新闻 Google Play 143 万款 App, 相信已经爬取绝数 App 页面

`>use scrapy

switched to db scrapy

>db.play.count()

1564754

>db.play.find().limit(1)

"_id" : ObjectId("55479d9da28a7c1cca449c23"), "url" : "", "num" : [ " 100,000,000 - 500,000,000 " ]()

>

日志采集。通过爬虫的方式常爬取的数据源主要来自这四类数据源包括,开放数据源、爬虫抓取、传感器和日志采集,开放数据源是针对行业的数据库。爬虫,即网络爬虫,也叫做网络机器人,可以代替人们自动地在互联网中进行数据信息的采集与整理。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9605054.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存