本文为南大《用Python玩转数据》学习笔记

用到的库或模块:
1.Requests第三方库
用于中小型网络爬虫的信息抓取。
基本方法:
requests.get() 请求获取指定YRL位置的资源,对应HTTP协议的GET方法
Requests官网:http://www.python-requests.org/
(可查看基本用法)
2.BeautifulSoup库
是一个可从HTML或XML文件中提取数据的Python库
官网:https://www.crummy.com/software/BeautifulSoup/bs4/doc/
BeautifulSoup在进行解析时,对HTML最常用的解析器是LXML
3.re 正则表达式模块
用来检索替换符合某个规则或者是模块的文本。

1.在对某个网站进行爬虫之前,往往需要查看其爬虫协议,看是否允许爬虫。
查看豆瓣的爬虫协议:

可知所要抓取的subject目录下的东西并没有被禁止。
(该协议的延时Crawl-delay是5秒钟)

2.分析网页源码特征,编写代码

import requests
import re
from bs4 import BeautifulSoupheaders={'User-Agent':'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}
r=requests.get('https://book.douban.com/subject/1084336/comments/',headers=headers)
soup=BeautifulSoup(r.text,'lxml')
pattern=soup.find_all('span','short') #('标签','属性内容')
for item in pattern:print(item.string) #通过string属性获得字符串
pattern_s=re.compile('<span class="user-stars allstar(.*?)rating"') #通过compile()方法将字符串编译成pattern实例
p=re.findall(pattern_s,r.text) #使用正则表达式中的findall()函数匹配源代码中这样的模式
s=0
for star in p:s+=int(star)
print(s)

headers里的内容由此查看:

查看网页源码,可知所有的评论都有标签标记:

评论的分值则都有这样的标签:

部分运行结果:

附:
BeautifulSoup基本使用方法:

BeautifulSoup的对象有4种:
(1)Tag:HTML或LXML文档中的标签 (如图中黄框部分),最重要的属性包括name和attribute
(2)NavigableString:Tag中插入的字符串 (如图中椭圆部分)
(3)BeautifulSoup
(4)Comment:NavigableString的子类

本文代码只是对单个网页进行爬取,还可通过各个网页中的url特征来循环抓取多个网页,这样一个小型的爬虫就实现了。

Python网络爬虫:爬取豆瓣上《小王子》书评相关推荐

  1. Python:网络爬虫爬取某表情包网站

    Python:网络爬虫爬取某表情包网站 参考: 爬虫基础知识点汇总(html文件基础和4个常用库 超级详细长文预警) [爬虫教程]吐血整理,最详细的爬虫入门教程~ HTML的简单介绍 HTML的全称为 ...

  2. 用python网络爬虫爬取英雄联盟英雄图片

    用python爬虫爬取lol皮肤. 这也用python网络爬虫爬取lol英雄皮肤,忘了是看哪个大神的博客(由于当时学了下就一直放在这儿,现在又才拿出来,再加上马上要考二级挺忙的.),代码基本上是没改, ...

  3. 使用python网络爬虫爬取新浪新闻(一)

    使用python网络爬虫爬取新浪新闻 第一次写博客,感觉有点不太习惯!不知道怎么突然就想学学爬虫了,然后就用了一天的时间,跟着教程写了这个爬虫,!不说废话了,我将我从教程上学习的东西整个写下来吧,从头 ...

  4. 如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)

    前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py ...

  5. python朋友圈动态_如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)

    前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py ...

  6. python抓取朋友圈动态_如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)...

    原标题:如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下) 前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往 ...

  7. Python网络爬虫爬取虎扑步行街爆照区话题

    Python网络爬虫爬取虎扑步行街爆照区话题 作者:郜科科 最近的任务挺多的,但是心情很烦躁,想做一些自己喜欢的东西,前些时候感觉Python爬虫很好玩,就自学了一下.本人比较喜欢逛街--虎扑步行街, ...

  8. python如何爬虫网页数据-python网络爬虫爬取网页内容

    1.什么是网络爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自 ...

  9. python网络爬虫——爬取嗅事百科

    网络爬虫 - 爬取嗅事百科 爬取过程分三大步: 一,请求,获取网页源码 url为:url =' https : //www.qiushibaike.com/8hr/page/'+ str(page)先 ...

  10. Python网络爬虫爬取携程网中的游记标题及内容

    最近在自学Python爬虫,会自己练习一些网站然后记录下来供大家参考,如有不对之处希望大佬多多指正 此处以爬取携程网上带有"非遗"关键词的游记为例: 首先找到需要爬取的网站的url ...

最新文章

  1. B站最火数学视频3Blue1Brown是如何制作的
  2. .net 集合分成几个等数量集合_巧用数学游戏,帮助幼儿轻松掌握12种数量关系!...
  3. java并发练习之快乐影院
  4. python学了基础之后方向_学习了解python基础后,该进去哪一个方向呢?
  5. 2021年中国电子学习课程市场趋势报告、技术动态创新及2027年市场预测
  6. C语言基础专题 - 指针(编写中)
  7. Tomcat实现Session对象的持久化原理及配置方法介绍
  8. H3C 命令行历史记录功能
  9. python公约数公倍数_python求最大公约数和最小公倍数的简单方法
  10. 宇宙背景声子低温超导探测器
  11. java数据结构运动会分数统计,数据结构实验报告(运动会分数统计系)..doc
  12. Go1.17 快报之标准库越来越注重易用性
  13. 进程文件ntvdm.exe
  14. 自旋锁以及Java中的自旋锁的实现
  15. Maven中java/javaweb工程目录结构,<buid>、<properties>标签
  16. 解决 C# 中 Using ‘UseMvcWithDefaultRoute‘ to configure MVC is not supported while using Endpoint Routin
  17. 新的目标已经出现,向着互联网反卷净土冲啊
  18. 搭建云播基于cloud-torrent
  19. 最新RK3288开源开发板,需要的可以来看看
  20. 软件工程1 初识软件工程

热门文章

  1. 西安市经开区自行车管理系统设计摘要
  2. 以智礼国:如何把数字外交升级成AI外交?
  3. 国内主流CMS、SNS、商城等建站系统汇总
  4. springboot+mybatis-plus+vue完成微信支付(前后端分离)
  5. Java——Java连接Jira,创建、修改、删除工单信息
  6. R语言,来模拟LCT
  7. 华三交换机IRF堆叠配置及MAD配置
  8. 天海实业携手海宇勇创签署战略合作协议
  9. Web初学-2022.10.28-11.5
  10. 【Shell】执行shell脚本进入指定目录