python爬虫(requests)

全网最全!Python爬虫requests库教程(附案例)_python requests Win64; 阅读详情

python爬虫(requests)

网址:http://www.biquge.cm/2/2042/
ps:该网址以暂停解析

准备工作

  1. 导入第三方库:requests bs4

爬虫笔记:

  1. 导入requests库 也可以使用urllib库 这里使用requests库比urllib库简单,内部是由requests库写的,以及数据筛选库如:bs4 或者lxml
  2. 编写header字典,用于反反爬虫 不然容易被检测。
  3. 实例化res对象,通过requests.get(url=“网址”,headers=header),获得网站内容
  4. 将获取的内容使用xpath或者beautifulsoup进行解析
  5. 存储解析到的有效数据

代码部分;

# 导入requests库
import requests
# 导入文件操作库
import codecs
from bs4 import BeautifulSoup
import sys
import importlib
importlib.reload(sys)

# 给请求指定一个请求头来模拟chrome浏览器
global headers
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36'}
server = 'http://www.biquge.cm'
# 星辰变地址
book = 'http://www.biquge.cm/2/2042/'
# 定义存储位置
global save_path
save_path = 'G:/星辰变'


# 获取章节内容
def get_contents(chapter):
    req = requests.get(url=chapter)
    html = req.content
    html_doc = str(html, 'gbk')
    bf = BeautifulSoup(html_doc, 'html.parser')
    texts = bf.find_all('div', id="content")
    # 获取div标签id属性content的内容 \xa0 是不间断空白符  
    content = texts[0].text.replace('\xa0' * 4, '\n')
    return content


# 写入文件
def write_txt(chapter, content, code):
    with codecs.open(chapter, 'a', encoding=code)as f:
        f.write(content)


# 主方法
def main():
    res = requests.get(book, headers=headers)
    html = res.content
    html_doc = str(html, 'gbk')
    # 使用自带的html.parser解析
    soup = BeautifulSoup(html_doc, 'html.parser')
    # 获取所有的章节
    a = soup.find('div', id='list').find_all('a')
    print('总章节数: %d ' % len(a))
    for each in a:
        try:
            chapter = server + each.get('href')
            content = get_contents(chapter)
            chapter = save_path + "/" + each.string + ".txt"
            write_txt(chapter, content, 'utf8')
        except Exception as e:
            print(e)


if __name__ == '__main__':
    main()
【python】网络爬虫与信息提取--requests库 当一个软件想获得数据,那么我们只有把网站当成api就可以requests库:自动爬取HTML页面,自动网络请求提交robots协议:网络爬虫排除标准(网络爬虫的规则)beautiful soup库:解析HTML页面。 阅读详情

相关推荐

Python网络爬虫基础及Requests库入门

Robots协议 网络爬虫的问题         在讲python网络爬虫之前,先来看看网络爬虫的一些问题以及robots协议。首先python爬虫功能主要使用的库有Requests库和Scrapy库。他们的区别如下:         正常情况下Web服务器默认接收人类访问,受限于编写水平和目的,网络爬虫将会带来一些问题:         1、性能骚扰:为Web服务器带来巨大的资源开销

知行流浪 1753

Python 爬虫 requests 库教程(附案例)

Requests 是一个为人类设计的简单而优雅的 HTTP 库。requests 库是一个原生的 HTTP 库,比 urllib3 库更为容易使用。requests 库发送原生的 HTTP 1.1 请求,无需手动为 URL 添加查询串, 也不需要对 POST 数据进行表单编码。相对于 urllib3 库, requests 库拥有完全自动化 Keep-alive 和 HTTP 连接池的功能。requests 库包含的特性如下。❖ 1Keep-Alive & 连接池❖ 国际化域名和 URL。

weixin_68789096的博客 2091

python网络爬虫1——Requests库 获取页面

目录 第一章 Requests库 1.Requests库的安装 2.Requests库最常用的方法:requests.get() 3.Response对象的属性 4.爬取网页的通用代码框架 (1)Requests库的异常 (2)爬取网页的通用代码框架 5.Requests库的常用方法 (1)HTTP协议 (2)Requests库的7个主要方法 (3)核心方法:requ...

th839582740的博客 1689

Python爬虫 requests库详解

所以,如果请求一个 HTTPS 站点,但是证书验证错误的页面时,就会报这样的错误,那么如何避免这个错误呢?此外,requests 还提供了证书验证的功能。但是一旦开始大规模爬取,对于大规模且频繁的请求,网站可能会弹出验证码,或者跳转到登录认证页面,更甚者可能会直接封禁客户端的 IP,导致一定时间段内无法访问。当然,如果参数都传一个 HTTPBasicAuth 类,就显得有点烦琐了,所以 requests 提供了一个更简单的写法,可以直接传一个元组,它会默认使用 HTTPBasicAuth 这个类来认证。

m0_59236602的博客 1865

[Python从零到壹] 七.网络爬虫之Requests爬取作者个人博客网站及CSV存储

前一篇文章讲述了 BeautifulSoup 爬取豆瓣TOP250电影,通过案例的方式让大家熟悉Python网络爬虫。这篇文章将详细讲解Requests库爬取个人博客信息,并存储至CSV文件。该案例非常适合入门的案例,也能普及简单的预处理知识。 希望对您有所帮助,本文参考了作者优快云的文章和学生杨友的博客,从学生的角度实现网络爬虫,可能对读者更友好。

杨秀璋的专栏 1万+

【Python入门】7天速成Python网络爬虫高手,requests从零基础到实战只需一篇

恭喜你,已经完成了Python网络爬虫中使用requests发送HTTP请求的基础学习!通过今天的讲解,你应该已经掌握了如何使用requests发送GET和POST请求、处理HTTP错误、设置请求头、处理Cookies、处理重定向和超时。这些技能不仅能够帮助你在工作中提高效率,还能让你在朋友面前显得特别酷。所以,赶紧动手试试吧,也许你下一个爬虫项目就是用requests开发的呢!

java专栏 1326

python实现数据爬虫

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,经常被称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。即打开一个网页,里面有网页内容吧,想象一下,有个工具,可以把网页上的内容获取下来,存到你想要的地方,这个工具就是我们今天的主角:爬虫requests 是 Python 中的一个 HTTP 库,可以用于发送 HTTP/1.1 请求。

huaweichenai的博客 2292

【python快速编程入门(第二版)黑马程序员课后编程题】

python快速编程入门(第二版)黑马程序员课后编程题

weixin_46167259的博客 1万+

小白学Python,网络爬虫篇(1)——requests库

网络爬虫通俗来讲就是使用代码将 HTML 网页的内容下载到本地的过程。爬取网页主要是为了获取网页中的关键信息,例如网页中的数据、图片、视频等。Python 语言中提供了多个具有爬虫功能的库,下面将具体介绍。urllib 库:是 Python 自带的标准库,无须下载、安装即可直接使用。urllib 库中包含大量的爬虫功能,但其代码编写略微复杂。requests 库:是 Python 的第三方库,需要下载、安装之后才能使用。

2201_75607087的博客 3536

英飞凌IGBT驱动芯片2ED020I12F2去饱和电路设计总结整理收集

记录下英飞凌IGBT驱动芯片限流电阻阻值设计

nizhenyuchina的博客 5996

CMOS传输门实战:如何用模拟开关优化你的电路设计(附常见问题排查)

本文深入探讨了CMOS传输门在电路设计中的实战应用与优化策略。文章从核心参数选型入手,详细分析了导通电阻、电荷注入等关键特性对电路性能的影响,并提供了多路复用器构建、精密电路应用等实战架构。同时,重点分享了PCB布局、电源去耦的工程细节,以及开关不导通、信号失真、高频性能不足等常见问题的系统性排查指南,旨在帮助硬件工程师充分发挥CMOS模拟开关的效能,提升电路设计的可靠性与精度。

js777的博客 451

Python网络爬虫之requests库

①urllib库:Python自带的标准库,代码编写略微复杂②requests库:第三方库,在urllib库的基础上建立的,但使用起来更简洁方便③scrapy库:第三方库,是一个专业应用程序开发的网络爬虫库④selenium库:第三方库,可用于驱动计算机中的浏览器执行相关命令,而无需用户手动操作。

weixin_72931638的博客 2329

第十二节:C#工业控制编程基础--输出正弦波实验

第十二节:基于c#使用开发板输出正弦波实验 文章目录第十二节:基于c#使用开发板输出正弦波实验一、实验目的:了解采集卡DA相关函数的使用。二、实验内容:利用C#生成正弦波,然后用采集卡DA输出。三、实验步骤:1.打开Visual Studio 2013,新建窗体应用程序项目,配置好板卡dll文件。2.在窗体中放入控件,对控件进行布局排版,并修改他们的Name属性和Text属性。3.在Chart控件内选择Spline型图表,如图2。4.进入编程区域,在public partial class Form1 :

weixin_49237052的博客 2296

python网络爬虫——requests包

在左侧的资源中找到需要请求的网页,单击需要请求的网页,在heades(标头)中可以看到requests headers(请求标头)的详细信息。除了GET请求外,有时还需要发送一些编码为表单的形式的数据,如在登录的时候请求就位post,因为如果用get请求,密码就行显示在URL中,这个非常不安全。在网络爬虫中,静态网页的数据比较容易获取,因为所有数据都呈现在网页的HTML代码中。requests并不会给予定制的请求头headers的具体情况改变自己的行为,只是在最后的请求中,所有的请求头信息都会被传递进去。

maizeman126的博客 3179

双目相机标定理论与编程实现

双目相机标定是计算机视觉中的重要任务,通过确定双目相机的内参和外参,可以实现立体视觉的深度感知和三维重建。通过使用OpenCV库提供的函数,我们可以方便地进行双目相机的标定工作。双目相机标定是计算机视觉中的重要任务,用于确定双目相机的内参和外参,以实现立体视觉的深度感知和三维重建。通过上述代码,我们可以获得左右相机的内参矩阵、畸变系数、旋转矩阵和平移矩阵等参数,从而完成双目相机的标定过程。使用双目相机采集一系列左右相机的图像,确保标定板在不同位置和角度下都能被双目相机拍摄到。函数来检测标定板的角点。

ByteKnight的博客 325

(王道408考研操作系统)第三章内存管理-第一节1:内存基础知识、程序编译运行原理

注意:本节内容和《计算机组成原理》“存储器”那一部分内容相关性很强,组成原理是从硬件角度,操作系统是从软件角度。因此如果没有学习过这部分的同学,强烈建议先看这一部分 王道计算机组成原理笔记 本文主要会涉及以下必要的内存知识 文章目录一:内存及其作用 一:内存及其作用 内存:内存又称之为主存。是一种硬件设备,作为CPU和硬盘的缓冲区,用于解决其速度不匹配的问题,提高整机性能。程序执行前需要放入内存才能运行 ...

快乐江湖的博客 2792

关于Python网络爬虫requests库的介绍

简单来说,就是构建一个程序,以自动化的方式从网络上下载、解析和组织数据。就像我们浏览网页的时候,对于我们感兴趣的内容我们会复制粘贴到自己的笔记本中,方便下次阅读浏览——网络爬虫帮我们自动完成这些内容当然如果遇到一些无法复制粘贴的网站——网络爬虫就更能显示它的力量了。

ai520wangzha的博客 1703

基于 PID 算法的 STM32 步进电机高精度位置控制系统设计与实现(工业自动化应用)

硬件层面:选用 STM32F103C8T6+A4988 + 欧姆龙编码器的组合,兼顾工业可靠性与成本,接线需注意强弱电分离和信号抗干扰;软件层面:核心为位置式 PID 闭环控制,Mermaid 流程图清晰展现 “采集 - 运算 - 驱动” 的闭环逻辑,代码模块化易移植;性能层面:无负载定位误差≤±1 脉冲,带载误差≤±3 脉冲,满足工业自动化高精度位置控制需求。

weixin_42300449的博客 194

5.9 Python 网络爬虫基础(requests + BeautifulSoup)

本文介绍了网络爬虫的基础知识,包括定义、工作流程和常用Python工具(requests、BeautifulSoup)。重点探讨了爬虫的伦理与法律问题,如遵守robots.txt、请求频率限制和数据版权。提供了环境设置指南,并详细讲解了如何使用requests获取网页内容和BeautifulSoup解析HTML的方法,包括查找元素、提取数据的技巧。最后通过一个实战项目演示了如何爬取图书网站信息并存储为CSV文件。文章强调在爬取数据时要遵守法律和道德规范。

ylumwd的博客 1377

17、激光切割焦点位置和入射角对切割质量的影响研究

本研究通过响应面方法(RSM)结合Box-Behnken设计,系统分析了激光功率、切割速度和气体压力对SS 304不锈钢激光切割质量的影响,重点探讨了三种不同喷嘴在不同聚焦条件下的切缝比和条纹深度变化规律。实验结果表明,激光功率、切割速度和气体压力对切割质量具有显著影响,且不同喷嘴因焦点位置差异表现出不同的响应趋势。通过回归建模与优化,确定了最小激光功率、适中切割速度和最大气体压力为最优参数组合,可实现最小切缝比和较优条纹深度。研究为实际激光切割工艺提供了科学的参数选择依据和操作流程建议,有效提升了切割精度

mm9012的博客 126

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

python网络爬虫引用requests

库支持多种HTTP请求方法,如GET、POST、PUT、DELETE等。库是一个非常流行且强大的HTTP库,它使得发送HTTP请求变得非常简单。以下是如何在Python网络爬虫中引用并使用。安装成功,在终端输入pip3 list,如果有requests 2.32.2 ,说明已安装成功。注:不同网站,user-agent所在的位置不同。在Python网络爬虫中,user-agent的查找如下图。3. 发送HTTP请求。5.发送POST请求。

c11454345的博客 1298

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

python网络爬虫基础:requests库的应用

详细介绍了网络爬虫库requests库的应用,适应于绝大部分的爬虫设计,包括基础属性、方法与进阶构造。

2201_75415299的博客 2122

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

python网络爬虫,Requests库基础

先直接附上一段爬虫代码,最最简单的爬虫网页: import requests r = requests.get("https://www.baidu.com") r.status_code r.encoding = r.apparent_encoding r.text 在python窗口中输入以上代码便可爬取百度首页的全部代码:,是不是很有意思呢。下面我们开始学习python爬虫的第一...

qq_41426326的博客 8339

【Python3网络爬虫】 requests库的使用

1.requests库可以使Cookies,登陆验证,代理设置更加简单。一段代码,去对比urllib库的使用:import requests r = requests.get('https://wwww.baidu.com') print(type(r)) print(r.status_code) print(type(r.text)) print(r.cookies) 这些可以体现在请求上的相对...

搬砖者也 3039

Python编程进阶知识之第二课学习网络爬虫(requests)

网络爬虫通俗来讲就是使用代码将 HTML 网页的内容下载到本地的过程。爬取网页主要是为了获取网页中的关键信息,例如网页中的数据、图片、视频等。Python 语言中提供了多个具有爬虫功能的库,在学习和实践过程中一定要严格遵守网站提供的爬取规则。

m0_74977182的博客 1728

Python 网络爬虫从0到1 (1):Requests库入门详解

Python 网络爬虫从0到1 (1):Requests库入门详解   网络爬虫中,网络请求是基础部分。没有网络请求以及响应,网络爬虫的后续数据分析也就失去了意义。Python中的网络请求,主要由Requests库来完成,本篇,我们就来一起认识一下Requests库及其基本使用方法。 Requests库简介   Requests库是一个简洁而优雅的Python第三方库,更好地贴合人们的使用习惯,故在http类库中,Requests库非常受开发者青睐。Requests库支持Keep-Alive持久化连接

Zheng__Huang的博客 2万+
上一篇: python-发送qq邮件
下一篇: 人脸识别基础(检测是否有人)
Nothenhe
博客等级 码龄8年 5粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值