如何将爬取的数据存入数据库中
爬取链接:我爱我家
如果需要参考创建步骤,可以参考这篇文章
爬虫文件:loupan.py
import scrapy
from baiduSpider.items import BaiduspiderItemclass LoupanSpider(scrapy.Spider):name = 'loupan'allowed_domains = ['5i5j.com']# start_urls = ['https://fang.5i5j.com/bj/loupan/n1/'] #爬取链接start_urls=['https://fang.5i5j.com/bj/loupan/n%s/' % x for x in range(1,3)] #多页爬取def parse(self, response):item=BaiduspiderItem()for row in response.xpath('/html/body/div[4]/div[1]/ul[1]/li'):item['house_rank']=row.xpath('div[2]/div[1]/a/span[1]/text()').get() #楼盘排名item['house_name']=row.xpath('div[2]/div[1]/a/span[2]/text()').get() #楼盘名item['addr']=row.xpath('div[2]/div[3]/a/span[5]/text()').get().strip() #地址item['size']=row.xpath('div[2]/div[2]/a/span[4]/text()').get() #大小item['price']=row.xpath('div[3]/p/text()').get() #均价yield item
items.py
import scrapy
class BaiduspiderItem(scrapy.Item):house_rank=scrapy.Field()house_name=scrapy.Field()addr=scrapy.Field()size=scrapy.Field()price=scrapy.Field()
数据库里创建相应的表格和字段
USE test;
CREATE table loupan(
Id Int AUTO_INCREMENT PRIMARY key, #自增长主键
house_name varchar(255) CHARACTER set utf8,#楼盘名
addr varchar(255) CHARACTER set utf8, #楼盘地址
size varchar(255) CHARACTER set utf8, #大小
price varchar(255) CHARACTER set utf8 #价格
)
settings.py
MYSQL_DB_HOST = "127.0.0.1"
MYSQL_DB_PORT = 3306 # 端口
MYSQL_DB_NAME = "test"
MYSQL_DB_USER = "root"
MYSQL_DB_PASSWORD = "123456"
ITEM_PIPELINES = {'baiduSpider.pipelines.MySQLPipeline': 2
}
pipelines.py
import pymysqlclass BaiduspiderPipeline:def process_item(self, item, spider):return itemclass MySQLPipeline():# 开始爬取数据之前被调用# 读取配置文件,初始化连接以及游标def open_spider(self, spider):host = spider.settings.get("MYSQL_DB_HOST", "127.0.0.1")port = spider.settings.get("MYSQL_DB_PORT", 3306)dbname = spider.settings.get("MYSQL_DB_NAME", "test")user = spider.settings.get("MYSQL_DB_USER", "root")pwd = spider.settings.get("MYSQL_DB_PASSWORD", "123456")self.db_conn = pymysql.connect(host=host, port=port,db=dbname, user=user, password=pwd)self.db_cur = self.db_conn.cursor()# 每解析完一个 item 调用# 插入数据def process_item(self, item, spider):values = (item['house_name'],item['addr'],item['size'],item['price'])sql = "insert into loupan(house_name,addr,size,price) values(%s,%s,%s,%s)"self.db_cur.execute(sql, values) #执行sql语句return item# 爬取完全部数据后被调用# 提交数据,释放连接def close_spider(self, spider):self.db_conn.commit()self.db_cur.close()self.db_conn.close()
最后执行scrapy crawl loupan -o loupan.csv,数据库中存有了数据
如何将爬取的数据存入数据库中相关推荐
- python爬取微博数据存入数据库_Python爬取微博数据并存入mysql,excel中
寒假期间做微博数据统计,由于是部门要求,也没办法,自己又是一个懒人,直接用python实现吧.写的很粗糙,也很差,请大家别介意. 总的来说分成两个模块:一个爬取微博数据存入数据库,一个从数据库调取数据 ...
- python爬取微博数据存入数据库_Python爬取新浪微博评论数据,写入csv文件中
因为新浪微博网页版爬虫比较困难,故采取用手机网页端爬取的方式 操作步骤如下: 1. 网页版登陆新浪微博 2.打开m.weibo.cn 3.查找自己感兴趣的话题,获取对应的数据接口链接 4.获取cook ...
- python抓取数据库_Python-7.爬取大量数据存入数据库
本章包含内容: 前言 mongodb环境配置 爬取数据的代码分析 一.前言 在更新完上一篇python文章时,就一直想爬取一个10万量级的数据.在解了mongodb的基本用法和环境配置后,第一次测试的 ...
- python爬取微博数据存入数据库_python爬取微博并且存入数据库
由于平时喜欢刷微博,追星,所以写了想要写一个爬取微博的爬虫,在老师的建议下选择从移动端爬取,因为移动端页面元素简洁,易于爬取.在看微博时发现有比移动端更加简单的一个版本....老年机版?就是分页式的. ...
- 爬虫学习——爬取台风数据存入数据库
最近因为某些需求需要台风数据的数据库,因此想利用python写一个相关的程序~ 因为台风的数据77年之前是没有风圈等数据,所以台风在77年前只有一张数据表,在77年之后多了一张关于风圈风力的表.但是我 ...
- 【爬虫+数据库操作】用pandas将爬取的股票信息存入数据库!
以下内容为本人原创,欢迎大家观看学习,禁止用于商业用途谢谢合作! ·作者:@Yhen ·原文网站:CSDN ·原文链接:https://blog.csdn.net/Yhen1/article/deta ...
- Python网络爬虫使用BeautifulSoup爬取网页内容并存入数据库案例
使用BeautifulSoup爬取网页内容并存入数据库案例 学习了Python网络爬虫,完成里一个比较完整的爬虫案例与大家分享 爬取地址:http://www.tipdm.com/cpzx/index ...
- Python爬取股票数据存入mysql数据库,获取股票(最新、最高、今开、成交量、成交额、量比、换手率、涨幅等)支持多线程+数据库连接池
项目简介 (Python)爬虫 + MySQL + Redis项目. 爬取下来的数据可用于后续的数据分析(我计划将其用于我的毕业设计). 未来会将数据分析的可视化部署到服务器上, 并添加股票降价通知的 ...
- 实战爬虫-爬取红袖添香并存入数据库
看了很多爬虫视频的视频,最近找了个小说网站练练手 ####目标:红袖添香前20页小说,包括小说名字,作者,类别,状态,字数,以及基本介绍 ####网址在这儿: https://www.hongxiu. ...
最新文章
- Jenkins Pipeline 构建复杂的Electron程序
- 2019蚂蚁金服 Java面试题目!涵盖现场3面真题
- python 导航栏_解析导航栏的url--selnium,beautifulsoup实战
- 一般java,【面试题】java一般
- ProxmoxVE(V5.2) 之 使用外部ceph存储(luminous)
- Kafka会不会丢消息
- cuda Memory Fence Functions
- java程序结构化设计_项目二:基于Java的结构化程序设计
- 跟燕十八学习PHP-第二十八天-union用法深入讲解
- mysql数据结构_MySQL索引深入理解底层数据结构
- 浅析Linux系统入侵排查与应急响应技术
- Internet浏览器,C:\fakepath路径问题
- 一款牛逼的Android端身份证合成工具
- RationalDMIS 2020 CAD模型坐标系转换(山涧果子)2021
- 计算机主机内部数据线,机箱内的各种线缆安装步骤(图文)
- Prisma初体验【逆向生成数据模型】
- Mac Safari 12.0 升级后无限闪退,提示不支持扩展
- Android高版本P/Q/R源码编译指南
- 古风尚婚纱摄影--决定
- 新买的显示器怎么测试软件,新买的电视如何检测屏幕?记住这个方法