【网络爬虫】2 初探网络爬虫

爬虫练手

把豆瓣的书评list页爬取下来,并获取其书名,和detail的连接地址
豆瓣的书评list的url地址, start=1,2,3,4…是其地址页
https://book.douban.com/top250?start=1
在这里插入图片描述
f12 观察其html结构

思路

按照找到的list的页面地址:
1.获取list页的html内容,
2. 解析html内容,
3. 获取title 和 detail页的href

简化问题

先搞第一页 https://book.douban.com/top250?start=1
user_agent 是告诉豆瓣的服务器,我就是浏览器啊

import requests
from bs4 import BeautifulSoup as bs
# 以上是添加必要的库header = {}
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"
header["user-agent"] = user_agent
url = "https://book.douban.com/top250?start=1"
response = requests.get(url,headers=header)
# 以上是发送http的get请求,此时网页地址在 response对象里面

对返回的字符串进行解析,再次简化问题,只需要看返回列表的第一个

bs_info = bs(response.text,"html.parser")
# 返回所有的带class=pl2属性的div,返回一个列表,但只需要看第一个
abc =bs_info.find_all("div",attrs={"class":"pl2"})[0]
print(abc)
# 解析a,理解的 href 和title
atag = abc.find_all('a',)[0]
print("我是连接:",atag.get("href"))
print("我是题目:"+atag.get('title'))
pf =bs_info.find_all("span",attrs={"class":"rating_nums"})[0]
print("评分:",pf.getText())
pl =bs_info.find_all("span",attrs={"class":"pl"})[0]
# 评价人数
print("评价人数:",pl.getText())
<div class="pl2">
<a href="https://book.douban.com/subject/4913064/" onclick="&quot;moreurl(this,{i:'0'})&quot;" title="活着">活着</a><img alt="可试读" src="/pics/read.gif" title="可试读"/>
</div>
我是连接: https://book.douban.com/subject/4913064/
我是题目:活着
评分: 9.4
评价人数: (800932人评价)

拓展

同学们自己写个对page 的循环, 已经对每页的list的循环,自己拼接完成吧,很好做的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/140056.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt 窗口常用位置API函数 绘图原理 双缓冲机制 总结

一、Qt 窗口API函数基础知识 在Qt窗口编程中&#xff0c;常用的API函数有&#xff1a; QWidget类的API函数&#xff1a;包括setWindowTitle()、resize()、move()、show()、hide()、setFixedSize()、setWindowFlags()等。 QMainWindow类的API函数&#xff1a;包括setCentralWi…

网页构造与源代码

下载google浏览器 设置打开特定网址&#xff1a;www.baidu.com 查看网页或元素源代码 网页右键选择“检查”查看源代码 网页源代码 元素源代码

jmeter监听每秒点击数(Hits per Second)

jmeter监听每秒点击数&#xff08;Hits per Second&#xff09; 下载插件添加监听器执行压测&#xff0c;监听结果 下载插件 点击选项&#xff0c;点击Plugins Manager (has upgrades)&#xff0c;点击Available Plugins&#xff0c;搜索5 Additional Graphs安装。 添加监听…

C#上位机序列9: 批量读写+事件广播

1. 读取配置文件及创建变量信息&#xff08;点位名称&#xff0c;地址&#xff0c;数据类型&#xff08;bool/short/int/float/long/double&#xff09;&#xff09; 2. 读任务&写任务,数据有变化时事件广播通知 using HslCommunication; using HslCommunication.Core; usi…

【Linux-常用命令-基础命令-删除文件夹以及内容-rm--r-命令-笔记】

【Linux-常用命令-基础命令-删除文件夹以及内容-rm--r-命令-笔记】 1、前言2、操作3、自己的操作 1、前言 最近&#xff0c;在使用Linux的时&#xff0c;使用相关基础命令是&#xff0c;总是容易忘记&#xff0c;上网一搜&#xff0c;大部分都写的比较繁琐&#xff0c;关于删除…

Datawhale学习笔记AI +新能源:电动汽车充电站充电量预测

赛题介绍 建立站点充电量预测模型&#xff0c;根据充电站的相关信息和历史电量数据&#xff0c;准确预测未来某段时间内充电站的充电量需求。 在赛题数据中&#xff0c;我们提供了电动汽车充电站的场站编号、位置信息、历史电量等基本信息。我们鼓励参赛选手在已有数据的基础上…

基于Scrapyd与Gerapy部署scrapy爬虫方案【可用于分布式爬虫部署】

scrapyd部署爬虫 Scrapyd 是一个基于 Scrapy 的开源项目&#xff0c;它提供了一个简单的方式来部署、运行和监控 Scrapy 爬虫。它是一个用于集成 Scrapy 爬虫到分布式架构中的工具&#xff0c;允许您在分布式环境中运行爬虫&#xff0c;并提供了一组 Web API&#xff0c;用于管…

信创办公–基于WPS的Word最佳实践系列 (图文环绕方式)

信创办公–基于WPS的Word最佳实践系列 &#xff08;图文环绕方式&#xff09; 目录 应用背景操作步骤1、 打开布局选项中图文环绕方式的方法2、 图文环绕三大类型 应用背景 在Word中&#xff0c;对文字和图片进行排版时&#xff0c;采用各种不同的图片与文字组合效果能够使页面…

Windows/Linux系统ftp服务器搭建

文章目录 一、Windows系统ftp服务器搭建二、Linux系统ftp服务器搭建二、安装完成测试 一、Windows系统ftp服务器搭建 系统是2008r2&#xff0c;全图&#xff0c;按照图一步一步点就行了 找个有telnet的电脑测试一下端口&#xff0c;windows的ftp默认端口是21 返回…

汽车屏类产品(二):360全景环视(SVC)、多分割显示、行车记录

前言 随着新能源汽车的快速发展,带动了车载器件的大发展,大的比如域控,小的创新更是不断涌现。而车载显示屏可以说是一大类产品,产品形态也是愈发多样化,比如:仪表cluster、中控IVI、副驾屏、行车记录仪、流媒体后视镜、透明A柱屏、方向盘屏(替代方向盘按键)、门饰板显…

性能测试:测试常见的指标(超详细~)

前言 今天想和大家来聊聊性能测试常见的指标&#xff0c;我在这里也不喜欢说废话我们直接开始吧。 同时&#xff0c;我也为大家准备了一份软件测试视频教程&#xff08;含面试、接口、自动化、性能测试等&#xff09;&#xff0c;就在下方&#xff0c;需要的可以直接去观看&am…

微信小程序2

一&#xff0c;视图层 1.什么视图层 框架的视图层由 WXML 与 WXSS 编写&#xff0c;由组件来进行展示。 将逻辑层的数据反映成视图&#xff0c;同时将视图层的事件发送给逻辑层。 WXML(WeiXin Markup language) 用于描述页面的结构。 WXS(WeiXin Script) 是小程序的一套脚本语…