准备

豆瓣读书网址是:https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4?start=880&type=T

红色箭头标记的就是我们要获取的信息,我们有了目标信息,就能找到页面的源码,我们通过解析源码来获取信息数据,我们如何获取源码呢?这时可引入request来解决,实现代码如下:

import requestsresp = requests.get('https://book.douban.com/top250?start=0')
print(resp.text)

运行程序我们能就能得到HTML信息,问题来了,获取了HTML信息,怎样获取我们想要的目标信息呢?

打开浏览器,按键盘F12,从页面源码找到我们想要的目标信息,如图所示:

可以看到书名信息包含在class='info' h2标签里的a标签。发现目标位置后,我们可以利用BeautifulSoup来获得一个对象,按找标准的缩进显示的html代码:

#python环境中如果没有ba4和lxml,要先安装 pip install bs4 and pip install lxml
from bs4 import BeautifulSoupsoup = BeautifulSoup(resp.text, 'lxml')

推荐大家使用lxml解析器,因为他快。当然,如果大家怕麻烦,也完全可以使用Python的内置标准库html.parser.对我们获得结果并没有影响。

爬虫——豆瓣读书代码如下:

import requests;
from bs4 import BeautifulSoup;def get_html(url):headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}resp = requests.get(url, headers = headers).text;return resp;
def html_parser():for url in all_page():soup = BeautifulSoup(get_html(url), 'lxml');# 书名allDiv = soup.find_all('div', class_= 'info')names = [a.find("a")["title"] for a in allDiv];#作者versions = [];pubs = soup.find_all(class_="pub");versions = [i.get_text().strip() for i in pubs];#评分ratingNums = soup.find_all(class_="rating_nums");ratings = [i.get_text().strip() for i in ratingNums];#简介allDiv2 = soup.select('.info p');jianjie = [i.get_text().strip() for i in allDiv2];# jianjie = [a.find("p").get_text().strip() for a in allDiv2];for name, version, rating, p in zip(names, versions, ratings, jianjie):name = "书名:" + str(name) + "\n";version = "作者:" + str(version) + "\n";rating = "评分:" + str(rating) + "\n";p = "简介:" + str(p) + "\n";data = name + version + rating + p;f.writelines(data + "==================" + "\n");
def all_page():base_url = "https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4?start=";urlList = [];for page in range(0, 900, 20):allurl = base_url+ str(page);urlList.append(allurl);return urlList;
filename = "豆瓣读书.txt";
f = open(filename, 'w', encoding = "utf-8");
html_parser();
f.close();
print("保存成功 ");

Python爬虫——豆瓣读书相关推荐

  1. python爬虫豆瓣读书top250+数据清洗+数据库+Java后端开发+Echarts数据可视化(一)

    由于刚上完了商业智能实训的课程,根据老师的要求我们做了一个完整的项目. 1. 项目要求与内容 项目具体要求:利用python爬取数据并进行清洗和预处理,将清洗后的数据存到数据库中,后端利用Java或是 ...

  2. python爬虫豆瓣读书top250+数据清洗+数据库+Java后端开发+Echarts数据可视化(二)

    之前的博客已经写了python爬取豆瓣读书top250的相关信息,接下来继续看如何清洗数据. 如果有没看懂的或是不了解上一部分说的是什么内容的,请看https://blog.csdn.net/qq_4 ...

  3. python爬虫豆瓣读书top250+数据清洗+数据库+Java后端开发+Echarts数据可视化(四)

    之前的博客已经写了python爬取豆瓣读书top250的相关信息和清洗数据.将数据导入数据库并创建相应的数据表,以及进行项目准备工作,接下来开始正式编写后台代码. 如果有没看懂的或是不了解上一部分说的 ...

  4. Python爬虫豆瓣读书,让你时时刻刻获取书籍的第一手信息

    读万卷书行万里路,书是我们获取知识的一大途径,读书可以让人变得精神勃发,让人,能够更加的理解和认识这个世界 今天,给大家分享一个代码,让大家能够将豆瓣读书中的所有图书爬取下来,存储在本地 准备 我们可 ...

  5. Python爬虫豆瓣电影top250

      我的另一篇博客,Python爬虫豆瓣读书评分9分以上榜单   有了上次的基础,这次简单爬了下豆瓣上电影TOP250,链接豆瓣电影TOP250.   打开链接,查看网页源代码,查找我们需要的信息的字 ...

  6. python爬虫 豆瓣影评的爬取cookies实现自动登录账号

    python爬虫 豆瓣影评的爬取cookies实现自动登录账号 频繁的登录网页会让豆瓣锁定你的账号-- 网页请求 使用cookies来实现的自动登录账号,这里的cookies因为涉及到账号我屏蔽了,具 ...

  7. python爬虫-豆瓣爬取数据保存为html文件

    接<python爬虫-豆瓣数据爬取-正则匹配>中的案例五,将爬取的豆瓣租房信息网址和标题保存为html文件. 脚本修改如下: # -*-coding:utf-8 -*- import re ...

  8. 第一篇CSDN博客 python爬虫豆瓣排名前250的电影

    ## 第一篇CSDN博客 python爬虫豆瓣排名前250的电影 1.首先,这是本宝宝的第一篇博客,嘿嘿,有点小激动,之所以采用CSDN发博客呢有两个原因,1是因为现在学的东西比较多,自己学着学着就忘 ...

  9. python爬虫—豆瓣电影海报(按类别)

    原文地址:http://www.alannah.cn/2019/04/06/getdouban/ python爬虫-豆瓣电影海报 目标:通过python爬虫在豆瓣电影上按类别对电影海报等数据进行抓取, ...

最新文章

  1. LeetCode简单题之山羊拉丁文
  2. Python的Super方法
  3. 9.png(9位图)在android中作为background使用导致居中属性不起作用的解决方法
  4. C++ 线程池的思想
  5. 2020未来科学大奖获奖名单公布 张亭栋、王振义等获奖
  6. linux同内核覆盖,Linux内核代码覆盖率 – GCOV
  7. [JavaScript] 怎么使用JS禁止复制粘贴
  8. 中值滤波器处理椒盐噪声
  9. SpringBoot - Spring 家族的技术体系
  10. 神经网络的原理和应用,神经网络理论及应用
  11. 高德地图MapABC报错
  12. php 月份查询生日_PHP判断日期(生日)格式是否正确合法的方法
  13. Spire.XLS的使用
  14. C# 设置或验证 PDF中的文本域格式
  15. 你不知道的JavaScript--Item29 DOM基础详解
  16. idea debug源码
  17. 大数据开发hive数据库常用命令汇总
  18. 背景图片填满整个Div
  19. Win10升级Win11(解决0xc8000402报错)
  20. JDK1.8 Unsafe类中的park和unpark方法解析

热门文章

  1. 嵌入式软件设计第8次实验报告
  2. 计算机应用基础课程考核,计算机应用基础课程考核说明
  3. PyQt5安装及使用教程
  4. YS_20190820_图像_Matlab_03
  5. 张小龙演讲干货:微信的未来在哪?这里有7个答案
  6. 设计模式 之 装饰器模式
  7. 国稻种芯粮农科技产业园药食同源消费者追求“时尚+”健康需求
  8. 前端与后端 的区别,一图恍然大悟!
  9. swfTools+FlexPaper文档在线预览及问题解决(FlexPaper加载一直转圈)
  10. Bank Cheque study