python爬虫快速入门(零基础也看得懂)

python爬虫入门教程(非常详细) 爬虫指的是一种自动化程序,能够模拟人类在互联网上的浏览行为,自动从互联网上抓取、预处理并保存所需要的信息。爬虫运行的过程一般是先制定规则(如指定要抓取的网址、要抓取的信息的类型等),紧接着获取该网址的HTML源代码,根据规则对源代码进行解析和抽取,最后进行处理和保存。爬虫在实际应用中广泛使用,如搜索引擎、大数据分析、交易数据采集等领域,都需要用到爬虫技术来实现信息的定向采集和处理。 阅读详情

网络爬虫分类

  • 通用网络爬虫(搜索引擎使用,遵守robopts协议)
    robots协议:网站通过robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,通用网络爬虫需要遵守robots协议(君子协议)
    查看网站的robots协议: https://www.baidu.com/robots.txt
  • 聚焦网络爬虫:自己写的爬虫程序

爬取数据步骤

  • 确定需要爬取的URL地址
  • 由请求模块向URL地址发出请求,并得到网站的响应
  • 利用解析模块从响应内容中提取所需数据
    所需数据,保存
    页面中有其他需要继续跟进的URL地址,则继续第2步去发请求,如此循环

爬虫入门:

1.请求模块
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:
res.geturl() 返回实际地址解释:有些网页可能会进行重定向,从而返回另一个地址

代码举例:

from urllib import request
#获得相应对象
res=request.urlopen(url='http://www.baidu.com/')
#获取网页源代码(默认是字节串,需要转为字符串)
html=res.read().decode()
#获取实际地址
url=res.geturl()
#返回http响应码
code=res.getcode()

print(res)
print('='*30)
print(html)
print('='*30)
print(url)
print('='*30)
print(code)

结果:

<http.client.HTTPResponse object at 0x000001564CDFADC0>
==============================
<!DOCTYPE html><!--STATUS OK-->

    <html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta content="always" name="referrer"><meta name="theme-color" content="#2932e1"><meta name="description" content="全球领先的中文搜索引擎、致力于让网民更便捷地获取信息,找到所求。百度超过千亿的中文网页数据库,可以瞬间找到相关的搜索结果。"><link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" /><link rel="search" type="application/opensearchdescription+xml" href="/content-search.xml" title="百度搜索" /><link rel="icon" sizes="any" mask href="//www.baidu.com/img/baidu_85beaf5496f291521eb75ba38eacbd87.svg">
......
==============================
http://www.baidu.com/
==============================
200

问题:

在这里插入图片描述
我们用于通过相关访问的数据:

User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Mobile Safari/537.36

通过python爬虫访问的数据如下:
headers下面内容
在这里插入图片描述

如何改进?

在这里插入图片描述
在这里插入图片描述
代码举例:

from urllib import request
# 1.定义常用变量
url='http://httpbin.org/get'
headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1'}
# 2.包装请求
req=request.Request(url=url,headers=headers)
# 3.发请求
res=request.urlopen(req)
# 4.获取响应内容
html=res.read().decode()
print(html)

结果:

{
  "args": {}, 
  "headers": {
    "Accept-Encoding": "identity", 
    "Host": "httpbin.org", 
    "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1", 
    "X-Amzn-Trace-Id": "Root=1-6117d0cb-6a429a376d4882805141367c"
  }, 
  "origin": "222.137.196.191", 
  "url": "http://httpbin.org/get"
}

总结:
在这里插入图片描述

urllib.parse编码

  • 作用:给URL地址中查询参数进行编码
  • 导入方式
    import urllib.parse
    from urllib import parse
  • 示例(url不能直接识别中文,需要编码进行转换)
    –编码前:https://www.baidu.com/s?wd=美女
    –编码后:https://www.baidu.com/s?wd=%E7%BE%8E%E5%A5%B3
    在这里插入图片描述
    拼接url的三种方式
    在这里插入图片描述
    小练习:

在这里插入图片描述
代码演示:

from urllib import request
from urllib import parse
# 1.拼接url地址
word = input('请输入百度搜索关键字:')
params=parse.urlencode({'wd':word})
url='http://www.baidu.com/s?{}'.format(params)#这个url我们需要提前观察它的结构
headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1'}
# 2.发请求获取响应内容
req=request.Request(url=url,headers=headers)
res=request.urlopen(req)
html=res.read().decode()
print(html)
# 3.保存到本地文件
filename=word+'.html'
with open(filename,'w',encoding='utf-8') as f:
    f.write(html)

总结:
在这里插入图片描述

入门实战案例:

在这里插入图片描述
在这里插入图片描述

静态爬取一般步骤:

在这里插入图片描述
代码如下:

class BaiduTiebaSpider:
    def __init__(self):
        self.ur1 = 'http://tieba.baidu.com/f?kw={}&pn={}'
        self.headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1'}
    def get_html(self,url):
        req=request.Request(url=url,headers=self.headers)
        res=request.urlopen(req)
        html=res.read().decode()
        
        return html
    def parse_html(self):
        """解析提取数据的函数"""

        pass

    def save_html(self,filename,html):
        with open(filename,'w',encoding='utf8') as f:
            f.write(html)
    def run(self):
        name=input('请输入贴吧名:')
        start=int(input('请输入起始页:'))
        end=int(input('请输入终止页:'))
        params=parse.quote(name)
        # 1.拼接url地址
        for page in range(start,end+1):
            pn=(page-1)*50  #根据所选贴吧url规律计算得出
            url=self.ur1.format(params,pn)
            html=self.get_html(url)
            filename='{}_第{}页.html'.format(name,page)
            self.save_html(filename,html)
            #终端打印提示
            print('第%d页抓取成功' % page)
            # 控制数据抓取的频率
            time.sleep(random.randint(1,3))
test=BaiduTiebaSpider()
test.run()

结果:

请输入贴吧名:赵丽颖
请输入起始页:1
请输入终止页:3
第1页抓取成功
第2页抓取成功
第3页抓取成功

总结:
在这里插入图片描述

温馨提示:

相关操作一定要在法律允许的范围内进行!

如果你对Python感兴趣的话,可以试试我整理的这份Python全套学习资料,微信扫码免费领取

😝朋友们如果有需要的话,可以V扫描下方二维码免费领取🆓

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

#### **一、Python学习路线**

image-20230619144606466

python学习路线图1

二、Python基础学习
1. 开发工具

2. 学习笔记

在这里插入图片描述

3. 学习视频

在这里插入图片描述

三、Python小白必备手册

图片

四、数据分析全套资源

在这里插入图片描述

五、Python面试集锦
1. 面试资料

在这里插入图片描述

在这里插入图片描述

2. 简历模板

在这里插入图片描述

** 因篇幅有限,仅展示部分资料,添加上方即可获取**

相关推荐

python爬虫入门教程(非常详细)_爬虫python入门

python爬虫入门教程(非常详细)_爬虫python入门

一名正义的白帽黑客 1万+

python爬虫入门教程(非常详细),超级简单的Python爬虫教程

爬虫(spider,又网络爬虫),是指向网站/网络发起请求,获取资源后分析并提取有用数据的程序。从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HTML代码/JSON数据/二进制数据(图片、视频) 爬到本地,进而提取自己需要的数据,存放起来使用。

优快云_430422的博客 4万+

什么是网络爬虫

又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。网络爬虫可以根据指定的规则,从互联网上下载网页、图片、视频等内容,并抽取其中的有用信息进行处理。网络爬虫的工作流程包括获取网页源代码、解析网页内容、存储数据等步骤。根据其目的和工作方式的不同,网络爬虫可以分为多种类型。常见的网络爬虫包括通用爬虫、聚焦爬虫、增量式爬虫等。

2301_79903190的博客 2486

Python爬虫入门教程(非常详细)

爬虫的全称为网络爬虫,简称爬虫,别名有网络机器人,网络蜘蛛等等。网络爬虫是一种自动获取网页内容的程序,为搜索引擎提供了重要的数据支撑。搜索引擎通过网络爬虫技术,将互联网中丰富的网页信息保存到本地,形成镜像备份。我们熟悉的谷歌、百度本质上也可理解为一种爬虫。如果形象地理解,爬虫就如同一只机器蜘蛛,它的基本操作就是模拟人的行为去各个网站抓取数据或返回数据。

2201_75362610的博客 2万+

Python 网络爬虫入门与实战

网络爬虫(Web Crawler)是自动访问网络并提取信息的程序。它可以模拟人类用户在浏览器中的行为,访问网页、抓取数据并存储到本地或数据库中。网络爬虫在信息检索、数据挖掘、搜索引擎等领域有广泛应用。Scrapy 是一个强大的爬虫框架,支持异步处理和数据存储。它适合大型爬虫项目,可以高效抓取和解析数据。yield item通过本文的学习,您应该对 Python 网络爬虫有了全面的了解。从基础的 Requests 库到高级的 Scrapy 框架,再到实战案例,涵盖了网络爬虫的方方面面。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 2214

Python爬虫从入门到实战(非常详细)

爬虫能做什么政治角逐在更大的数据规模上,总统候选人们也采用了同样的策略,所依赖的数据来源也不仅仅是民意调查结果,还涵盖了诸多的如facebook这类的社交网站和公开及私有的数据库。及时准确的收集这些数据,并且帮助制定策略以获得更多的选民支持,而以上这些就使得大数据分析技术成了两党候选人的重要武器。电商分析抓取天猫、京东、淘宝等电商网的评论及销量数据,对各种商品(颗粒度可到款式)沿时间序列的销量以及用户的消费场景进行分析。

xiaolinyui的博客 1890

零基础爬虫入门(一) | 初识网络爬虫

本篇博文主要介绍网络爬虫的基本概念、工作原理以及开发环境。 我们为什么要了解网络爬虫? 因为当今从事科学研究等,需要大量的数据,但是这些数据公开的又非常的少,大量的数据都在大公司的手中。我们这些普通人本身并没有那么多数据,但是我们又需要大量的数据。那么,这时我们就需要用到网络爬虫了。 Chapter01 | 初识网络爬虫一、什么是网络爬虫1、爬虫产生的背景1.1、万维网的高速发展1.2、搜索引...

不温卜火 6722

python爬虫入门教程pdf-从零开始学Python网络爬虫 PDF 原书扫描版

给大家带来的一篇关于Python爬虫相关的电子书资源,介绍了关于Python、网络爬虫方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小143.9 MB,罗攀编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.9。内容介绍读者评价基于Python 3的图书,代码挺多,这是优点。缺点是,很多地方没有解释清楚,作为一个脑子转得不太灵光的零基础萌新,有很坎坷的感觉。如果是想快速实现功能...

weixin_37988176的博客 4142

【愚公系列】《Python网络爬虫从入门到精通》001-初识网络爬虫

随着互联网的快速发展,数据的获取与处理变得愈发重要。在这个信息爆炸的时代,如何有效地收集和利用网络上的海量数据,成为了各行业面临的一大挑战。网络爬虫,作为一种自动化获取网页信息的技术,正逐渐成为数据分析、市场研究、竞争对手监控等领域不可或缺的工具。本文将带领读者初步了解网络爬虫的基本概念、工作原理以及常见应用场景。我们将探讨爬虫的构建过程,包括如何发送请求、解析网页、存储数据等关键步骤。同时,还会涉及一些爬虫开发中的注意事项,如如何遵循网站的robots.txt协议、避免被封禁等。

愚公智库 12万+

如何快速建立一个网络爬虫(初学者指南)

作为一个采集新手,我搭建了一个网络爬虫,成功的从Amazon Career 网站中提取了20000条数据。如何建立一个网络爬虫并导出到数据库,最终可以将数据无成本地转变成你的财富?跟着我我往下看吧。 什么是网络爬虫? 网络爬虫是一种网络机器人,它将互联网上的网页内容进行索引,然后它会自动抓取目标信息和数据。最后,它将数据导出为结构化的格式(列表/表格/数据库)。 ...

网页爬虫与数据采集 · 八爪鱼 1万+

AutoSAR开发实战:如何用Matlab/Simulink从零搭建SWC组件(附完整代码示例)

本文详细介绍了使用Matlab/Simulink从零开发AutoSAR SWC组件的全流程,包括环境配置、ARXML文件导入、算法模型开发、代码生成与集成验证等关键步骤。通过实战案例和完整代码示例,帮助开发者掌握AutoSAR标准下的软件开发技术,提升汽车电子系统的开发效率。

weixin_29093017的博客 256

从入门到实战:Python网络爬虫指南

网络爬虫(Web Crawler)是一种自动获取互联网信息的程序,它通过访问网页、提取数据并保存数据的方式来实现信息的获取。网络爬虫可用于从网站中收集数据、监视网站的变化、搜索引擎索引等多种应用。在本文中,我们介绍了Python网络爬虫的基础知识,包括网络爬虫的概念、Python在网络爬虫中的应用以及如何构建简单的网络爬虫。通过学习如何编写网络爬虫,您可以更好地利用互联网上的数据资源,加快信息收集的效率。

努力是为了站在万人之中,成为别人的光 8824

DrMOS电路仿真

将驱动电路与功率MOS集成化后既是DrMOS。把驱动芯片以及上下桥MOSFET封装在一起,这样每一相供电就有了单独的驱动芯片,并且这种高度整合的MOSFET可以通过更高的电流、发热比传统的MOSFET也小很多且更节能 自举升压同步BUCK高低侧栅驱动电路原理及仿真 ...

Srambler的博客 5039

【粉丝福利社】Python网络爬虫从入门到精通

在大数据、人工智能应用越来越普遍的今天,Python可以说是当下世界上最热门、应用最广泛的编程语言之一,在人工智能、爬虫、数据分析、游戏、自动化运维等各个方面,无处不见其身影。随着大数据时代的来临,数据的收集与统计占据了重要地位,而数据的收集工作在很大程度上需要通过网络爬虫来爬取,所以网络爬虫技术变得十分重要。本书提供了Python网络爬虫开发从入门到编程高手所必需的各类知识,共分4篇。第1篇:基础知识。

愚公智库 14万+

3D Gaussian Splatting的使用

Gaussian splatting 快速生成自己屋子的模型

gootyking的博客 1万+

新手必看:瑞萨MCU选型时,QFP、QFN、BGA这些封装到底该怎么选?(附选型避坑指南)

本文详细解析了瑞萨MCU选型中QFP、QFN、BGA等封装的特点与适用场景,提供实战避坑指南。通过对比封装的空间占用、散热能力、焊接难度等核心维度,帮助工程师根据具体需求选择最合适的芯片封装,避免因选型不当导致的高成本与生产问题。

weixin_26965807的博客 421

Python爬虫如何快速入门

写了几篇网络爬虫的博文后,有网友留言问Python爬虫如何入门?今天就来了解一下什么是爬虫,如何快速的上手Python爬虫。

学而思(xiejava的blog) 2151

3D扩散模型的构建与优化:多模态融合在三维物体生成中的作用【附核心代码实例】

随着技术的发展,基于扩散模型的3D内容生成已经成为一个激动人心的领域。通过不断优化扩散模型的结构和算法,结合多模态信息、视角控制和高效网络架构,未来的3D生成技术将不仅能够生成逼真的物体,还能满足虚拟现实、游戏设计、电影制作等行业对高质量、实时生成的需求。

一键难忘的博客 2863

Python 网络爬虫教程:从入门到高级的全面指南

网络爬虫是自动访问互联网并提取信息的程序。它可以用于数据采集、市场分析、学术研究等多种场景。简单来说,网络爬虫就是模拟用户在浏览器中的行为,获取网页内容。本文详细介绍了 Python 网络爬虫的基础知识、实现步骤及实战案例。随着技术的不断发展,网络爬虫的应用场景也在不断扩大。未来,你可以结合机器学习等技术,进一步提升数据分析能力。

孤客科技 9014

【yolo】YOLOv8模型导出完全指南:从PT到ONNX及其他格式的完整实践

摘要:本文全面介绍了YOLOv8模型从PT格式导出为ONNX等部署格式的完整流程与最佳实践。重点解析了关键参数(如format、imgsz、simplify)的作用机制,特别强调输入尺寸imgsz会自动继承训练尺寸的特性,并提供了ONNX、TensorRT等格式的典型导出配置方案。文章还总结了常见问题解决办法,推荐使用simplify优化模型性能,同时分享了通过C#实现模型重命名的实用技巧。最后指出"训练决定能力,导出定义接口"的核心原则,帮助开发者高效完成模型部署转换。

songhuangong123的博客 1917

高压控制单元与接触器 —— BMS电池的“高压大门”

高压接触器在BMS电池管理系统中扮演着“高压大门”的角色,负责控制电池包与整车高压母线的连接与隔离。接触器的工作原理基于线圈产生的磁力吸合接点,通过主触点接通高压电流路径,辅助触点检测状态,灭弧结构保护接点。预充电路的设计是为了避免直接连接大电容时产生的浪涌电流冲击,通过预充电阻逐步充电,确保系统安全上电。接触器控制策略包括顺序控制、辅助触点检测、温度监控、故障断电和背靠背MOS辅助控制,以确保系统的高效和安全运行。工程师在选择接触器型号、控制线圈、检测状态、软件冗余控制和预充失败保护等方面提供了具体建议。

weixin_43199439的博客 813

Python爬虫超详细讲解(零基础入门)!

网络爬虫的定义是什么?网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做。网络爬虫在我们的生活中扮演怎样的角色?在数字化时代,信息如同潮水般汹涌而来。过去,我们可能依赖书籍、报纸或电视来获取信息,但这些渠道的信息量有限,而且筛选过的信息未必能满足我们的需求。如今,互联网为我们提供了海量的信息,但同时也带来了“信息过载”的问题。

m0_75067629的博客 2925

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: 零基础如何入门 Python 爬虫?
下一篇: 学习Python需要知道哪些基础入门知识?
大模型应用场景
博客等级 码龄5年 7648粉丝 1350原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值