Python于allitebooks.com爬虫书籍名称导入数据库

Python于allitebooks.com爬虫书籍名称导入数据库

准备工作
1.python软件
2.搭建数据库
(备注:数据库和数据表可提前创建好,也可以python代码搭建)

1 创建数据库

博主是提前在SQLyog里创建好了数据库,数据库名为python,数据表此处也取名为python,名字可任意取不影响,如下图(此处做实验只爬取了书名):
这里写图片描述

2 爬取书籍名称导入数据库python

(1)爬虫分析

在查询界面点击右键,选择检查使得页面和代码可同时分析,在书籍列表点击书名或者封面图都可以进入详情,则书名和封面图任选一个,这里选择书名。
这里写图片描述
我们可以通过查找class=”entry-title”定位到书名所在的h2标签,然后通过此标签的a属性即可获得书名所在的a标签,再通过a标签的string属性可获得书名。

(2)代码实现

第一步:连接数据库,以便爬虫结果直接导入数据库,该部分参见上一篇博客
第二步: 爬虫数据导入数据库

r= requests.get(url)   #向服务器发送请求
soup = BeautifulSoup(r.text,'lxml') #声明BeautifulSoup对象
pattern = soup.find_all('h2', class_='entry-title')  #通过查找class="entry-title"定位到书名所在的h2标签
try:   
     values = []  #初始值为空
     for item in pattern: #循环批量插入记录数据
         values.append(item.a.string)  #将h2标签下a标签中的字符串数据插入列表
         cursor.executemany('insert into python(bookName) values(%s)',values)#执行 cursor.executemany(),将数据插入数据库

3 结果

这里写图片描述

源代码:
链接:https://pan.baidu.com/s/1m1zUxONPP_8SkU4CJm005w 密码:dzyj

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Python爬虫数据导入数据库,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了Python和所需的数据库连接库,例如pymysql、psycopg2等。您可以使用pip命令安装这些库。 2. 导入所需的库和模块。通常需要导入数据库连接库和爬虫相关的库,比如requests、BeautifulSoup等。 3. 建立数据库连接。根据您使用的数据库类型,选择对应的数据库连接库,并使用连接参数(如主机名、用户名、密码等)建立连接。 4. 创建一个数据库表。您可以使用SQL语句来定义表结构,比如在MySQL中可以使用CREATE TABLE语句。 5. 在爬虫程序中,编写爬虫逻辑,获取需要的数据。 6. 将数据插入到数据库中。根据您选择的数据库连接库,使用相应的方法将数据插入到数据库中。通常,您需要将数据转换为适合数据库插入的格式,比如将字典转换为SQL语句。 以下是一个简单的示例代码,假设您使用MySQL数据库和pymysql库: ``` import pymysql import requests from bs4 import BeautifulSoup # 建立数据库连接 conn = pymysql.connect(host='localhost', user='your_username', password='your_password', database='your_database') cursor = conn.cursor() # 创建数据表 create_table_sql = """ CREATE TABLE IF NOT EXISTS my_table ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), content TEXT ) """ cursor.execute(create_table_sql) # 爬取数据 url = 'https://example.com' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') title = soup.find('h1').text content = soup.find('div', class_='content').text # 插入数据 insert_sql = "INSERT INTO my_table (title, content) VALUES (%s, %s)" data = (title, content) cursor.execute(insert_sql, data) # 提交事务并关闭连接 conn.commit() cursor.close() conn.close() ``` 请根据您的实际情况修改代码中的连接参数、表结构以及爬虫逻辑。希望对您有所帮助!如果您还有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值