# dianping
scrapy抓取数据存储至本地mysql数据库
基于python开发,采用scrapy,数据存储至本地数据库(或excel表格)
程序的主要目的是完成抓取和分析的任务同时学习爬虫相关知识,所以在细节处理上略有不足,但考虑到最终的目的是记录自己的学习,另外帮助到他人学习,所以这些细节无关紧要(毕竟不是面向用户的程序)。
程序还有建立商家-用户点评的表格还在进行中...
也许你可以在这里找到一些帮助,比如:一次返回两个,多个item,切割中文,中文转数字等问题
<br> 1)一次返回两个、多个item
在pipelines.py文件中,可以看到。如果是不同的spider返回的,直接根据spider的name来判断即可
<br> elif isinstance(item, User_shopItem):
<br> 2)而一个spider返回两个、多个item,则通过item的name来判断(item的名字可以在spider中调试并输出)
<br> if str(str1) == "<class 'dianping.items.CommentItem'>":
一次抓取
------
1.首先创建MySQl数据库
<br>在/dianping/settings.py中写定了
<br>MYSQL_DBNAME = 'dianpingshop'
<br>MYSQL_USER = 'root'
<br>MYSQL_PASSWD = 'yourpassword'
<br>当然你也可以修改
![1](https://raw.githubusercontent.com/bsns/dianping/master/images/1.png)
比如选择6,创建程序用的所有表格
![image](https://raw.githubusercontent.com/bsns/dianping/master/images/2.png)
2.根据Scrapy的常用语法抓取数据
<br>
比如运行scrapy crawl dianping抓取扬州地区前50页的数据
<br>
![image](https://raw.githubusercontent.com/bsns/dianping/master/images/3.png)
抓取的数据存储在本地MySQL数据库中,当然之后也可以转换成Excel表格
![image](https://raw.githubusercontent.com/bsns/dianping/master/images/4.png)
二次抓取
------
用户选择某种种类继续抓取(考虑到日常生活中,人类大多数会从某一种类中选择某一商家)
![image](https://raw.githubusercontent.com/bsns/dianping/master/images/5.png)
在已经抓取的yangzhoushop总选择所有种类为自助餐的数据,存入dianping表中,等待继续抓取
![image](https://raw.githubusercontent.com/bsns/dianping/master/images/6.png)
运行Scrapy crawl comment抓取点评内容,和点评人的具体信息
![image](https://raw.githubusercontent.com/bsns/dianping/master/images/7.png)
转格式
-----
运行transfer.py把数据从MySQL中导出到Excel表格中
![image](https://raw.githubusercontent.com/bsns/dianping/master/images/8.png)
![image](https://raw.githubusercontent.com/bsns/dianping/master/images/9.png)
<br>分析<br>
---
运行yz.py 生成地理位置的条形图(这一步骤是刚开始学习时编写的,所以数据是写定的)
![image](https://raw.githubusercontent.com/bsns/dianping/master/images/10.png)
运行price.py显示价格相关的条形图
<br>
根据横轴的价格增长,三条曲线分别为
<br>1)红色:消费人数
<br>2)蓝色:商店数量
<br>3)黄色:评分
![image](https://raw.githubusercontent.com/bsns/dianping/master/images/11.png)
<br>运行gender.py
<br>显示男女比例,vip、非vip的比例
![image](https://raw.githubusercontent.com/bsns/dianping/master/images/12.png)
<br>运行user_location.py显示用户地理位置的分布图
![image](https://raw.githubusercontent.com/bsns/dianping/master/images/13.png)
<br>运行analy_shop.py分析具体商家<br>
![image](https://raw.githubusercontent.com/bsns/dianping/master/images/14.png)
<br>程序显示几家商店,从中继续选择某一家分析
<br>生成词云<br>
![image](https://raw.githubusercontent.com/bsns/dianping/master/images/15.png)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
资源推荐
资源详情
资源评论
收起资源包目录
scrapy抓取数据存储至本地mysql数据库-大众点评爬虫.zip (56个子文件)
SJT-code
scrapy.cfg 260B
analy
out.png 37KB
user_location.py 1KB
price.py 1KB
keywords.txt 51KB
yz.py 896B
analy_shop.py 4KB
shop_clouword.py 2KB
gender.py 2KB
transfer.py 2KB
createsql.py 4KB
user_table_shop.py 2KB
table_content.py 2KB
choose_foodtype.py 922B
BosonNLP_sentiment_score.txt 2.41MB
.idea
dianping.iml 284B
vcs.xml 180B
misc.xml 202B
inspectionProfiles
profiles_settings.xml 174B
modules.xml 268B
.gitignore 176B
dianping
__init__.py 0B
info.json 228KB
pipelines.py 6KB
settings.pyc 867B
spiders
__init__.py 161B
dianpingspider.py 3KB
user.pyc 3KB
user.py 3KB
comment.py 8KB
__init__.pyc 141B
comment.pyc 6KB
dianpingspider.pyc 3KB
items.py 1KB
__init__.pyc 133B
pipelines.pyc 5KB
dbhelper.py 4KB
settings.py 4KB
middlewares.py 2KB
items.pyc 2KB
images
10.png 86KB
9.png 286KB
3.png 228KB
12.png 31KB
15.png 204KB
1.png 78KB
11.png 79KB
13.png 65KB
6.png 417KB
5.png 52KB
4.png 534KB
8.png 80KB
7.png 492KB
2.png 48KB
14.png 105KB
README.md 4KB
共 56 条
- 1
资源评论
JJJ69
- 粉丝: 6000
- 资源: 5593
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功