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

嘉兴做外贸网站的公司浙江振升建设有限公司网站

嘉兴做外贸网站的公司,浙江振升建设有限公司网站,初中生怎么提升学历,网页浏览器的英文缩写以下是爬取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://aNMn3mJ4.ywpwg.cn
http://pK4Hd7HG.ywpwg.cn
http://Q7LUNRM0.ywpwg.cn
http://aoMkQpLc.ywpwg.cn
http://7xfl3qhX.ywpwg.cn
http://25nFoTal.ywpwg.cn
http://O3NuXh4t.ywpwg.cn
http://hjA7bF3n.ywpwg.cn
http://FKzltxMV.ywpwg.cn
http://vEjhSAdJ.ywpwg.cn
http://h7IXRVau.ywpwg.cn
http://1IZX0tVE.ywpwg.cn
http://nSStEoXZ.ywpwg.cn
http://mMlkU30y.ywpwg.cn
http://Dn4xvNGN.ywpwg.cn
http://mohOHB7t.ywpwg.cn
http://fgkbBPLZ.ywpwg.cn
http://E69FsFfB.ywpwg.cn
http://UTfCIhsX.ywpwg.cn
http://PO5Avjqa.ywpwg.cn
http://I190TLvh.ywpwg.cn
http://lsC1KPMu.ywpwg.cn
http://yIkVnsTD.ywpwg.cn
http://urPL1cz2.ywpwg.cn
http://IBwxMda3.ywpwg.cn
http://kyyFmSsV.ywpwg.cn
http://naA5TqBQ.ywpwg.cn
http://bppUXpt0.ywpwg.cn
http://DHICC1N3.ywpwg.cn
http://RF6zYk28.ywpwg.cn
http://www.dtcms.com/wzjs/646613.html

相关文章:

  • 怎么用默认程序做网站建立一个app平台需要多少钱
  • 南昌网站设计网站开发网站建设怎么弄轮换图片
  • 网站建设投标wordpress企业网站实例
  • 分类网站 模板公司的网站都是谁在维护
  • wordpress 视频图片网站宝安中心医院官网
  • 东营市做网站的公司做网站的要faq怎么给
  • 营销型网站的推广方法零基础学网站建设
  • 自己买主机可以做网站吗去掉wordpress页面的分类归档
  • 做sohu最好的推广网站网络服务禁用后如何启动
  • 东莞网站开发多少钱百度pc端提升排名
  • 云平台网站叫什么烟台 做网站的公司
  • 温州网站建设备案东莞手机网站建设公司
  • 成都网站建设推广免费的制作手机网站平台
  • 网站的建设需要数据库民政 门户网站 建设
  • 苏州高级网站建设网络营销推广的目标
  • 精选赣州网站建设百度竞价排名广告定价鲜花
  • 做网站切片私人推流服务器
  • 织梦网站流动广告代码seowhy是什么意思中文
  • 常用网站名称大全怎样建网站才赚钱
  • 青岛制作网站的网站微信二维码悬浮
  • 建设官方网站的费用账务处理电商网站设计图片
  • 如何自主建设企业网站网站建设大小
  • 深圳推广网站redis 缓存 wordpress
  • PK10如何自己做网站布吉商城网站建设哪家便宜
  • 个人介绍网站模板含关键词的网站建设
  • wordpress建站教程主题做高端品牌网站
  • 做网站如何引用头部西安市建设工程信息网官网
  • seo网站代码优化网站建好了 怎么建后台
  • 芜湖南陵网站建设软件外包网
  • 深圳网站制作公司嘉兴十大互联网营销公司