Python简单爬取图书信息及入库
2021/10/7 20:41:38
本文主要是介绍Python简单爬取图书信息及入库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
课堂上老师布置了一个作业,如下图所示:
就是简单写一个借书系统。
大概想了一下流程,登录——>验证登录信息——>登录成功跳转借书界面——>可查看自己的借阅书籍以及数量。。。
登录可以很快实现,但借书界面里的数据怎么来呢?
不可能百度搜索书籍信息,然后一条一条来复制粘贴吧
所以,我想到了Python。
思路:通过Python爬取指定某读数平台,然后将解析的数据直接存到数据库。
URL:https://weread.qq.com/
打开开发者工具,我们可以很快锁定所要爬取的信息;
学过jQuery解析库的,可以发现用pyquery库选择对应class属性,可以很快获取到需要的信息;
拿到数据后,使用pymysql将数据存入数据库,需要提前创建好数据库和表噢,当然也可以用代码实现;
↓
因为该读数平台的书籍信息是动态加载,所以一次可以爬20条,但可以通过循环index,来获取多条数据。或者,也可以通过selenium库来实现网页加载自动化,从而拿到所有数据。
# -*- coding=utf-8 -*- from pyquery import PyQuery import requests import pymysql header = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36" } # 获取html源码 def getUrl(url): re = requests.get(url, headers=header) return re # 获取数据并清洗 def getData(html): doc = PyQuery(html) name = doc(".wr_bookList_item_title") author = doc(".wr_bookList_item_author a") percent = doc(".wr_bookList_item_reading_percent") desc = doc(".wr_bookList_item_desc") lists = [] for i in range(len(name)): try: li = [name[i].text, author[i].text, percent[i].text, desc[i].text] except Exception as e: li = [name[i].text, author[i].text, "null", desc[i].text] lists.append(li) return lists # 连接数据库,存取数据 def saveDate(lists): db = pymysql.connect( host='127.0.0.1', port=3306, user='root', password='zhy123', database='mybooks', charset='utf8' ) cursor = db.cursor() for num in lists: sql = "insert into books_copy1(title,author,percent,prec) " \ "VALUES ('%s','%s','%s','%s')" % (num[0], num[1], num[2], num[3]) try: cursor.execute(sql) db.commit() except Exception as e: print(e) db.rollback() print("保存成功!!!") def main(): url = 'https://weread.qq.com/web/category/700002' html = getUrl(url).content.decode('utf-8') lists = getData(html) # print(lists) saveDate(lists) if __name__ == '__main__': main()
注意了,直接复制此代码运行,是会报错的喔!
需要确定自己电脑是否已经安装了mysql,其次修改代码里的用户名和密码,最后是数据库和表的名称喔。
我的简单借书小系统⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄
登录界面:
借书界面:
我的借书界面:
前端界面有些马虎了,凑合凑合O(∩_∩)O~
那就这样吧 byebye~~~
这篇关于Python简单爬取图书信息及入库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享