爬虫结果写入MySQL

前言

今天用一个实际案例来演示怎样将爬虫提取到的数据保存到MySQL中,
我们需要将如下内容(红框中)保存至MySQL中。
在这里插入图片描述#

一、用到的python模块

import requests #网络请求模块
from parsel import Selector #数据解析模块
import pymysql #python操作MySQL的模块

二、分析网页

先打开开发者工具抓包
在这里插入图片描述
分析得知该网络请求的响应为静态内容且没有请求参数加密
尝试用插件提取所需数据
在这里插入图片描述

三. 用代码创建数据库

db = pymysql.connect(host='localhost',user='root',password='密码',port=3306,database='ceshi1')
cursor = db.cursor()
sql = 'create table 红楼梦 (标题 char(50),品类 char(25),书店 char(25),地址 char(25),价格 char(25))'
try:
    cursor.execute(sql)
    print('创建数据库成功')
except Exception as e:
    print('创建数据库失败')

四.发送请求并解析数据

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36'
}
url = 'https://item.kongfz.com/book/51144142.html'

res = requests.get(url=url,headers=headers).text
selector = Selector(res)
lis = selector.xpath('//ul[@class="itemList"]/li')
data = []
for li in lis:
    info = {
        'title' : li.xpath('./div[2]/a/text()').get(),
        'category' : li.xpath('./div[4]/text()').get(),
        'bookstore' : li.xpath('./div[5]/div[1]/a/text()').get().strip('\n, '),
        'site' : li.xpath('./div[5]/div[2]/text()').get(),
        'price' : li.xpath('./div[6]/div[1]/span/text()').get()
    }
    data.append(info)

五.写入MySQL

for i in data:
    title = i['title']
    category = i['category']
    bookstore = i['bookstore']
    site = i['site']
    price = i['price']
    sql_1 = "insert into 红楼梦(标题,品类,书店,地址,价格) value (%s,%s,%s,%s,%s)"
    try:
        cursor.execute(sql_1,(title,category,bookstore,site,price))
        db.commit()
    except Exception as e:
        print(e)
        print('数据写入失败')
cursor.close()
db.close()

在图形化软件中查看结果
在这里插入图片描述

总结

本案例展示了如何将爬虫提取的结果写入MySQL中,感兴趣的小伙伴赶快去试试吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值