Python爬虫与数据库编程

什么是MySQLdb?

MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。

Python3无法使用pip install MySQLdb命令安装MySQLdb,需要下载whl包,网址:https://pypi.org/project/mysqlclient/#files

根据Python3.x的版本选择下载即可

 下载完成后,在存放根目录输入cmd

执行命令 pip install mysqlclient-2.1.0-cp310-cp310-win_amd64.whl

安装完成后就可以开始了,我上篇文章有写爬虫代码,直接搬用一下,加上数据库就行

代码如下:

#导入模块
import MySQLdb
import requests
import re

#设置数据库信息,建立连接
conn = MySQLdb.connect(
        #连接主机ip
         host = '127.0.0.1',
        #数据库端口,默认3306
         port = 3306,
        #数据库用户名
         user = '####',
        #数据库密码
         passwd = '####',
        #数据库名
         db = '####',
)
cus = conn.cursor()
#爬取目标url
url = 'https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4?start='

def shu(url):
    headers = {
        'Host': 'book.douban.com',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0',
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8',
        'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
        'Accept-Encoding': 'gzip, deflate',
    }

    r = requests.get(url=url, headers=headers)

    data = r.text
    #设置正则匹配,获取需要信息
    title = re.findall(r'title="(.*?)"', data)
    #for循环
    for i in range(1,20):
        #设置sql语句
        sql = "insert into book (book) values ('%s')"%(title[i])
        #执行sql语句
        cus.execute(sql)
        
        #print (title)

ra = [0,20,40,60,80,100,120,140,160,180]
for i in range(0,9):
    urla = url + str(ra[i]) + '&type=T'
    shu(urla)

conn.commit()

 好了,就是这么简单,如果想要更快的爬取信息,就需要设置多线程了,多线程我后面会写到,期待你的点赞关注

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值