scrapy爬虫储存到mysql_Scrapy爬虫案例 | 数据存储至MySQL

首先,MySQL创建好数据库和表

029ff47818eb

image

然后编写各个模块

item.py

import scrapy

class JianliItem(scrapy.Item):

name = scrapy.Field()

url = scrapy.Field()

pipeline.py

import pymysql #导入数据库的类

class JianliPipeline(object):

conn = None

cursor = None

def open_spider(self,spider):

print('开始爬虫')

self.conn = pymysql.Connect(host='127.0.0.1',port=3306,user='root',password='',db='jianli') #链接数据库

def process_item(self, item, spider): #编写向数据库中存储数据的相关代码

self.cursor = self.conn.cursor() #1.链接数据库

sql = 'insert into jl values("%s","%s")'%(item['name'],item['url']) #2.执行sql语句

try: #执行事务

self.cursor.execute(sql)

self.conn.commit()

except Exception as e:

print(e)

self.conn.rollback()

return item

def close_spider(self,spider):

print('爬虫结束')

self.cursor.close()

self.conn.close()

spider

# -*- coding: utf-8 -*-

import scrapy

import re

from lxml import etree

from jianli.items import JianliItem

class FxhSpider(scrapy.Spider):

name = 'jl'

# allowed_domains = ['feixiaohao.com']

start_urls = ['http://sc.chinaz.com/jianli/free_{}.html'.format(i) for i in range(3)]

def parse(self,response):

tree = etree.HTML(response.text)

a_list = tree.xpath('//div[@id="container"]/div/a')

for a in a_list:

item = JianliItem (

name=a.xpath("./img/@alt")[0],

url=a.xpath("./@href")[0]

)

yield item

settings.py

#USER_AGENT

headers = {

"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"

}

# Obey robots.txt rules

ROBOTSTXT_OBEY = False

# Configure item pipelines

# See https://docs.scrapy.org/en/latest/topics/item-pipeline.html

ITEM_PIPELINES = {

'jianli.pipelines.JianliPipeline': 300,

}

查看存储情况

029ff47818eb

image

已标记关键词 清除标记
<p style="font-size:16px;color:#666666;"> <img src="https://img-bss.csdn.net/202001311426171105.png" alt="" /> </p> <p style="font-size:16px;color:#666666;"> <strong><span style="font-size:20px;">课程目标</span></strong> </p> <p style="font-size:16px;color:#666666;"> 《从零开始学Scrapy网络爬虫》从零开始,循序渐进地介绍了目前流行的网络爬虫框架Scrapy。即使你没有任何编程基础,学习起来也不会有压力,因为我们有针对性地介绍了Python编程技术。另外,《从零开始学Scrapy网络爬虫》在讲解过程中以案例为导向,通过对案例的不断迭代、优化,让读者加深对知识的理解,并通过14个项目案例,提高学习者解决实际问题的能力。 </p> <p style="font-size:16px;color:#666666;"> <br /> </p> <p style="font-size:16px;color:#666666;"> <strong><span style="font-size:20px;">适合对象</span></strong> </p> <p style="font-size:16px;color:#666666;"> 爬虫初学者、爬虫爱好者、高校相关专业的学生、数据爬虫工程师。 </p> <p style="font-size:16px;color:#666666;"> <br /> </p> <p style="font-size:16px;color:#666666;"> <span style="font-size:20px;"><strong>课程介绍</strong></span> </p> <p style="font-size:16px;color:#666666;"> 《从零开始学Scrapy网络爬虫》共13章。其中,第1~4章为基础篇,介绍了Python基础、网络爬虫基础、Scrapy框架及基本的爬虫功能。第5~10章为进阶篇,介绍了如何将爬虫数据存储MySQL、MongoDB和Redis数据库中;如何实现异步AJAX数据的爬取;如何使用Selenium和Splash实现动态网站的爬取;如何实现模拟登录功能;如何突破反爬虫技术,以及如何实现文件和图片的下载。第11~13章为高级篇,介绍了使用Scrapy-Redis实现分布式爬虫;使用Scrapyd和Docker部署分布式爬虫;使用Gerapy管理分布式爬虫,并实现了一个抢票软件的综合项目。 </p> <p style="font-size:16px;color:#666666;"> <span style="color:#FF0000;">      由于目标网站可能会对页面进行改版或者升级反爬虫措施,如果发现视频中的方法无法成功爬取数据,敬请按照页面实际情况修改XPath的路径表达式。视频教程主要提供理论、方法支撑。我们也会在第一时间更新源代码,谢谢!</span> </p> <p style="font-size:16px;color:#666666;"> <img src="https://img-bss.csdn.net/202001311426306665.png" alt="" /> </p> <p style="font-size:16px;color:#666666;"> <strong><span style="font-size:20px;">课程特色</span></strong> </p> <p style="font-size:16px;"> <img src="https://img-bss.csdn.net/202001311426415123.png" alt="" /> </p> <div> <br /> </div>
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页