当前位置: 首页 > wzjs >正文

电商网站开发技术与服务器给个网址2021年能看的

电商网站开发技术与服务器,给个网址2021年能看的,国内网站开发不用wordpress,如何做网站美化以下是爬取Google Play商店应用包名(package name)和对应分类的完整解决方案,采用ScrapyPlaywright组合应对动态渲染页面,并处理反爬机制: 完整爬虫实现 1. 安装必要库 # 卸载现有安装pip uninstall playwright scrapy-playwright -y# 重新…

以下是爬取Google Play商店应用包名(package name)和对应分类的完整解决方案,采用Scrapy+Playwright组合应对动态渲染页面,并处理反爬机制:

0

完整爬虫实现

1. 安装必要库

# 卸载现有安装pip uninstall playwright scrapy-playwright -y# 重新安装(指定国内镜像加速)pip install playwright scrapy-playwright -i https://pypi.tuna.tsinghua.edu.cn/simple# 安装浏览器二进制文件playwright install chromiumplaywright install-deps  # Linux系统需要额外依赖

2. 创建Scrapy项目

scrapy startproject google_play_crawler cd google_play_crawler

3. 修改settings.py​​​​​​​

# 启用Playwright和中间件DOWNLOAD_HANDLERS = {    "http": "scrapy_playwright.handler.ScrapyPlaywrightDownloadHandler",    "https": "scrapy_playwright.handler.ScrapyPlaywrightDownloadHandler",}TWISTED_REACTOR = "twisted.internet.asyncioreactor.AsyncioSelectorReactor"# 反爬配置USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"ROBOTSTXT_OBEY = FalseCONCURRENT_REQUESTS = 2DOWNLOAD_DELAY = 3# Playwright设置PLAYWRIGHT_BROWSER_TYPE = "chromium"PLAYWRIGHT_LAUNCH_OPTIONS = {    "headless": True,    "timeout": 30000,}

4. 爬虫主代码spiders/google_play.py​​​​​​​

import scrapyfrom scrapy.http import Requestimport refrom urllib.parse import urljoinclass GooglePlaySpider(scrapy.Spider):    name = 'google_play'    start_urls = ['https://play.google.com/store/apps']    custom_settings = {        'FEEDS': {            'apps.csv': {                'format': 'csv',                'fields': ['package_name', 'app_name', 'main_category', 'sub_category'],                'overwrite': True            }        }    }    def start_requests(self):        for url in self.start_urls:            yield Request(                url,                callback=self.parse_categories,                meta={"playwright": True}            )    def parse_categories(self, response):        """解析所有分类链接"""        # 新版Google Play分类选择器        category_links = response.xpath('//a[contains(@href, "/store/apps/category/")]/@href').extract()        for link in set(category_links):  # 去重            full_url = urljoin(response.url, link)            category_name = link.split('/')[-1]            yield Request(                full_url,                callback=self.parse_app_list,                meta={                    "playwright": True,                    "category": category_name                }            )    def parse_app_list(self, response):        """解析应用列表页"""        app_links = response.xpath('//a[contains(@href, "/store/apps/details?id=")]/@href').extract()        for link in set(app_links):            package_name = link.split('=')[-1]            full_url = urljoin(response.url, link)            yield Request(                full_url,                callback=self.parse_app_detail,                meta={                    "playwright": True,                    "package_name": package_name,                    "main_category": response.meta["category"]                }            )        # 分页处理        next_page = response.xpath('//a[contains(@aria-label, "Next page")]/@href').extract_first()        if next_page:            yield Request(                urljoin(response.url, next_page),                callback=self.parse_app_list,                meta={                    "playwright": True,                    "category": response.meta["category"]                }            )    def parse_app_detail(self, response):        """解析应用详情页"""        item = {            "package_name": response.meta["package_name"],            "app_name": response.xpath('//h1[@itemprop="name"]/span/text()').get(),            "main_category": response.meta["main_category"],            "sub_category": response.xpath('//a[@itemprop="genre"]/text()').get()        }        # 额外信息(可选)        item['rating'] = response.xpath('//div[@class="TT9eCd"]/@aria-label').get()        item['downloads'] = response.xpath('//div[contains(text(), "Downloads")]/following-sibling::span//text()').get()        yield item

5.google_play_crawler目录启动Google商店爬虫

scrapy crawl google_play -O Google.csv

执行后可以看到开始进行Google 应用商店的应用分类可视化爬虫

0

6.运行结果

    可以爬取应用的分类,但是感觉稳定哈。可能是国内VPN不稳定,且爬虫很费时间,感觉跑完也需要好几小时以上哈。

0

我家公司没有自己的应用商店,故应用类型需要自己爬虫生成数据库,供后续代码查询实现了。

http://www.dtcms.com/wzjs/755526.html

相关文章:

  • 化妆品网站建设实训总结企业网站接入微信支付
  • 网站推广策划案怎么选基金项目实验室信息网站建设
  • 网站如何注销百度头条怎么做网站
  • 营销型网站管理系统在网上那里能接单做网站
  • wordpress 多站点用户wordpress做淘宝的交流插件
  • 商城网站开发报信阳高端网站建设
  • 阜宁哪家专业做网站国外免费做网站软件
  • 做网站和做免费推广网站的区别张家港企业网站
  • 专业北京网站建设公司排名景区网站做电子商务的特点
  • 禅城网站制作网络优化工程师吃香吗
  • 北京seo方法seo关键词排名优化怎么做
  • 如何做网站教程简单新手建网站需要怎么做呢
  • 网站建设页面设计规格百科网站怎么做
  • 如何做汽车的创意视频网站设计在手机上怎么注册公司
  • 德州汇泽网站建设怀化百度关键词优化公司
  • 英德市网站建设wordpress开启vip会员查看
  • 怎么做互联网营销推广高级seo优化招聘
  • 西安建设和住房保障局网站线上广告代理平台
  • c++可以做网站吗网站建设基础教程人教版
  • 设计公司网站的主页怎么做html页面生成器
  • 网站设计开发维护成都展厅设计公司
  • 做某网站的设计与实现大连网站建设具体流程是什么
  • html5国内网站90做网站
  • 做外贸如何建立网站平台怎么自做网站
  • 做贺卡 网站html电影网页设计实例代码
  • 免费自己做网站手机肥城网站网站建设
  • 贵阳网站建设方案策划网站开发文档合同
  • 代账行业门户网站开发wordpress数据库连接方法
  • 简述网站开发步骤高校网站建设评比标准
  • 做美食网站的需求分析手机app开发工资高吗