# web_mining **Repository Path**: NFUNM001/web_mining ## Basic Information - **Project Name**: web_mining - **Description**: No description available - **Primary Language**: HTML/CSS - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-07-19 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 项目名称 - 小程序文章scrapy框架爬虫 ### 项目介绍 - 结合python和scrapy框架,从小程序社区中,爬取文章内容及标题信息存储在wxapp.csv文件中,并且实现了scrapyhub的部署。 - [scrapyhub部署公布](https://app.scrapinghub.com/datasets/6V04xqqJXsM)(需先登录) ### 数据信息 - [csv数据](https://gitee.com/NFUNM001/web_mining/blob/master/%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%96%87%E7%AB%A0%E5%86%85%E5%AE%B9.csv) - 数据页数:100页 - 维度:title、 author、 pub_time、 content ### 数据加值宣言 - 本项目爬取了小程序的文章内容、文章标题、文章发布时间和文章作者等数据,以考察近年来开发小程序的火热程度及行业情况,解决了人们想要了解开发小程序相关资讯的问题。 ### 数据最小可用产品(MVP的数据加值) ##### 数据的维度 - title:文章的标题 - author:文章的作者 - pub_time:文章发布的时间 - content:文章的内容 ##### 解决的问题 - 利用content维度做一个小程序开发的文章关键词的分类,再利用python的数据分析模块来对关键词出现的数量进行一个统计,探究关键词出现的次数,从而可以分析出小程序开发方面的热门内容。 - 对content维度的文章内容做一个的LDA主题模型分析,将文本中关键词进行矢量化,分析主题对应文本的机率分布值。 - 利用pub_time维度结合title维度进行一个关联分析,探究在不同的时间段小程序开发的方向变化。 - 利用content维度建立主题文本模型,对文章内容进行分析。 ### 挖掘Query参数 - next_link:页数 ### 思路方法及具体执行 1. 在cmd搭建scrapy环境。 ```python pip install scrapy ``` 2. 在jupyter输入以下代码自动化搭建出一个scrapy的初始框架。 ```python ! scrapy startproject douban-master ``` 3. 输入以下代码定义域名信息,并且自动化在spiders文件夹中创建自己的爬虫项目。 ```python ! scrapy genspider wxapp_spider ``` 4. 在scrapy框架中,设置好爬虫名、域名与及入口url,然后在框架parse函数部分写入爬虫的解析方法,利用xpath对网页的信息进行抓取,中间运用到split的方法对抓取的数据进行清洗,处理字符串,去除换行与空格,在翻页操作上,利用xpath提取最后一页的页码,在使用for循环来加载下一页的跳转,最终将抓取的所有数据 yield到管道里。 ```python ! start_urls = ['http://wxapp-union.com/portal.php?mod=list&catid=1&page=1'] ``` 5. 设置入口url,清洗数据 6. 然后在items.py进行一个单元的输出设置。 ### 心得总结及感谢 - 无论是前面使用的xpath,还是scrapy,都是非常方便用户使用的。scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛,抓取网页内容十分便利。起初在老师代码的帮助下,操作较为轻松。后来的实践过程中屡屡碰壁,不断地出错,搜索解决办法,继续尝试,才逐一解决,归根结底还是自己掌握的太少,同时十分感谢廖老师和许老师本学期提供的代码和耐心讲解。