Python爬虫 | urllib和正则表达式

精通 Python 网络爬虫:核心技术、框架与项目实战 内容简介 本书从技术、工具与实战3个维度讲解了 Python 网络爬虫: 技术维度:详细讲解了 Python 网络爬虫实现的核心技术,包括网络爬虫的工作原理、如何用 urllib 库编写网络爬虫、爬虫的异常处理、正则表达式、爬虫中 Cookie 的使用、爬虫的浏览器伪装技术、定向爬取技术、反爬虫技术,以及如何自己动手编写网络爬虫; 工具维度:以流行的 Python 网络爬虫框架 Scrapy 为... 阅读详情

本篇文章的源代码可以在后台回复爬虫来获取。

从今天开始,我们要开始学习Python爬虫来爬取网站上的数据。

首先,我们要知道什么是爬虫,爬虫又是怎么工作的。

爬虫又叫数据挖掘、网络机器人等,是用来帮助人们在网络上收集信息的。它可以让你非常快速的获取一些数据并整理。也就是说,它可以自动在网络上寻找你想要的信息并返回给你。

那么,爬虫是怎么工作的呢?

爬虫主要是以分析网页的源代码来获取信息。比如这段HTML网页代码:

<html>
<head>
<title>Hello World</title>
</head>
<body>
<p>Hello World</p>
</body>
</html>

使用爬虫,很容易就可以分析出它会在页面上显示Hello World。(当然,分析的其实是你而不是爬虫)

好了,了解了这些,我们开始吧。

首先我们要新建一个文件夹来储存我们写的代码。我们叫做小爬虫。

双击进到文件夹里面,右键Open Folder as Pycharm Project来在PyCharm中打开这个文件夹。

在目录中新建一个文件夹,叫做version1.0,里面放我们第一个爬虫代码。

在version1.0中新建一个名为Main的Python文件。

在里面首先导入Python的urllib库中的request文件。

首先我们要有一个网址来打开。我们找一个反爬机制弱的网站。

我们以百度的主页为例。(https://www.baidu.com/)

使用urllib库中的request文件中的urlopen函数来获取源代码。

输出一下。

嗯?这不是我们想要的内容啊?我们想要的是源代码啊?

原来,我们需要继续用decode函数和read函数才可以获得源代码。

尝试一下。

使用UTF-8解码。

我们发现,百度主页有反爬虫机制,我们只爬取到了一部分内容。

换一个网站。

我们使用百度贴吧。

https://tieba.baidu.com/

我的天哪,这怎么看啊?

其实这些内容都只是JavaScript的变量而已,划到最前面。

找了一个HTML代码整理工具整理了一下。

同样可以回复爬虫来获取整理工具的网址。

打开整理完的代码。

没有了CSS的支持,感觉像一堆乱码。

问题是,我们怎么样在一堆代码中找出有用的代码呢?

我们可以使用正则表达式。

假设我们要获取网页的标题,它用标签<title></title>括起来。我们需要知道这中间写的内容。

首先导入正则表达式,就是re。

首先定义一个变量,用于储存正则表达式的语句。

正则表达式中,你不知道的部分可以用.*?来表示。我们不知道<title></title>内的内容,于是写作.*?。

使用re模块的findall来在源代码中寻找<title></title>。

我们将urlopen函数的返回值赋给变量response。

输出一下findall的返回值。

如果不想要外面的<title></title>,可以将.*?用括号括起来。

好的,今天关于urllib的使用以及正则表达式的使用就结束了。想要源代码记得回复爬虫啊。

使用正则表达式和urllib模块爬取最好大学排名信息 题目 使用urllib模块编程实现爬取网站的大学排名。 (网址:http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html) (1)获取网站页面,分析代码结构特征; (2)处理页面,提取相关信息; (3)解析数据,输出结果。 代码实现 Python3 import urllib.request import re # 获取指定url的源码信息 def getHTMLText(url): try: response = urllib.r 阅读详情

相关推荐

【项目实战】使用urllib爬取虎扑首页的所有新闻

虎扑是我从高中就开始关注的网站,学习了网络爬虫后,写一个小程序来爬取虎扑首页的所有新闻,其中使用了urllib,正则表达式。防止爬虫被识别出来,将爬虫伪装成浏览器,下面直接上代码。    import urllib.request import re import ssl #全局取消证书验证,避免SSL: CERTIFICATE_VERIFY_FAILED ssl._create_defau

mxt的博客 493

python爬虫——正则表达式及urllib的使用

1、正则表达式 #!/usr/bin/python # -*-coding:utf-8-*- # __author__ = 'ShenJun' import re ''' par=&amp;quot;yue&amp;quot; string=&amp;quot;http://yum.iqianyue.com&amp;quot; rst1=re.search(par,string)#从string中匹配字符串&amp;quot;yue&amp;quot; p

Jorocco的博客 2085

Python网络爬虫和正则表达式学习总结

阅读目录 1.利用urllib2对指定的URL抓取网页内容 2. 使用正则表达式过滤抓取到的网页信息 2.1 正则表达式介绍 2.2 Python的re模块 2.3 Python正则表达式汇总   以前在学校做科研都是直接利用网上共享的一些数据,就像我们经常说的dataset、beachmark等等。但是,对于实际的工业需求来说,爬取网络的数据是必须的并且是首要的。最近在国内一家互联网公司实习,我的mentor交给我的第一件事就是去网络上爬取数据,并对爬取的数据进行相关的分析和解析。 很多人学习

Python学习Q群696455390 771

Python爬取新闻标题

第一段代码: import requests #页面请求 from bs4 import BeautifulSoup #转换为BeautifulSoup可读取形式 res=requests.get(&amp;amp;quot;http://news.sina.com.cn/china/&amp;amp;quot;) #读取文件所在页面 res.encoding=&amp;amp;quot;utf-8&amp;amp;quot; #字符乱码格式规定 soup=

coberup的博客 3161

精通Python网络爬虫_核心技术框架与项目实战_韦玮.pdf

精通Python网络爬虫_核心技术框架与项目实战_韦玮 编辑推荐   从技术、工具、实战3个维度讲透Python网络爬虫各项核心技术和主流框架,深度讲解网络爬虫的抓取技术与反爬攻关技巧 内容简介 随着大数据时代的到来,我们经常需要在海量数据的互联网环境中搜集一些特定的数据并对其进行分析,我们可以使用网络爬虫对这些特定的数据进行爬取,并对一些无关的数据进行过滤,将目标数据筛选出来。对特定的数据进行爬...

知识 2295

python爬虫re模块(抓取信息)

python爬虫1 《1》什么是爬虫网络爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人), 是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 《2》爬虫的基本原理: 我们把互联网比喻为一张大网,网络爬虫我们想象为网上的蜘蛛,网页与网页之间的连接我们理解为节点,爬虫就相当于是访问网页,获取网页的信息,又通过节点可以爬取另一个网站,然后不停的通过一个个节点即访问一个个网页,这样网站的数据就可...

LXJRQJ的博客 1533

Python从入门到入土-网络爬虫(urllib、正则表达式)

Python网络爬虫

write less , do more 2156

[Python从零到壹] 四.网络爬虫之入门基础及正则表达式抓取博客案例

欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家。第四篇文章将开启网络爬虫之旅,首先介绍基础知识及正则表达式的爬虫,希望对您有所帮助,文章中不足之处也请海涵。

杨秀璋的专栏 2万+

python网络爬虫入门,urllib模块,爬取网页和图片,图片爬取正则表达式思路

一、urllib模块 1.urllib简介 在Python2版本中,有urilib和urlib2两个库可以用来发送request(请求)。而在Python3中,统一为urllib urllib中包括了四个模块 -urllib.request可以用来发送request获取request结果 -urllib.parse用来解析和处理url -urllib.error包含了urllib.re...

ck784101777的博客 2457

elmos 524系列芯片笔记

芯片的工作工作原理:集成芯片Elmos524.03有发射回路和接收回路,手册有关的内部原理图,大致如下: 芯片会产生固有频率的电压信号,信号通过引脚DRV1、2输出给外部压电陶瓷片,产生固定频率的机械波,也就是所谓的超声波,超声波遇到障碍物时会反射,反射信号经过AINS、D引脚进入芯片,在芯片内部先后经过GAIN放大,滤波然后进入比较器,滤波后的信号(signal)同预先设定的阈值(threshold)比较产生信号输出。此信号最终会连接MCU处理器,需要重点关注。 基于这个内部的工作原

qq_38230916的博客 2484

如何在STM32上5分钟搞定nanopb协议传输?附完整代码示例

本文提供了在STM32微控制器上快速集成nanopb协议传输的实战指南。通过详细的步骤,从.proto文件定义、代码生成到STM32CubeIDE项目移植,帮助开发者利用nanopb这一轻量级Protocol Buffers C语言实现,在5分钟内构建高效、跨平台的嵌入式设备通信框架,并附有完整的代码示例。

jwt8token的博客 838

python爬虫基础知识点整理

更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.sfkyty.com/ 首先爬虫是什么? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。 根据我的经验,要学习Python爬虫,我们要学习的共有以下几点: Python基础

菜鸟教程 3519

STM32与SD卡SPI接口硬件设计:从原理图到调试的完整指南

SPI(串行外设接口)作为一种广泛应用的同步串行通信协议,以其接线简单、驱动成熟的特点,成为连接微控制器与各类外设的经典方案。其工作原理基于主从架构,通过时钟、数据线和片选信号实现全双工通信,在嵌入式系统中具有极高的技术价值,常用于连接传感器、存储设备和显示模块等。在数据存储场景中,SD卡凭借其大容量和便携性成为首选,而通过SPI模式驱动SD卡,则平衡了性能与设计复杂度。本文聚焦于使用Altium Designer进行硬件设计的工程实践,详细解析了STM32微控制器与SD卡通过SPI通信时,电源管理、上拉电

weixin_34101784的博客 555

【好书推荐3】Python网络爬虫入门到实战

本书介绍了Python3网络爬虫的常见技术。首先介绍了网页的基础知识,然后介绍了urllib、Requests请求库以及XPath、Beautiful Soup等解析库,接着介绍了selenium对动态网站的爬取和Scrapy爬虫框架,最后介绍了Linux基础,便于读者自主部署编写好的爬虫脚本。本书所有代码和相关素材可以到GitHub下载获取,地址为https://github.com/sfvsfv/Crawer。本书主要面向对网络爬虫感兴趣的初学者。杨涵文。

定期分享我的发现和想法,感谢你的陪伴和支持 7918

CorelDRAW 2019安装指南:从下载到激活的完整步骤

本文提供了一份详细的CorelDRAW 2019安装指南,涵盖从下载安装包、检查系统环境到完成激活的完整步骤。文章重点解析了安装过程中的关键选项设置,并分享了首次启动后的优化配置与常见问题解决方案,旨在帮助用户高效、顺利地完成这款经典矢量设计软件的安装与配置。

weixin_29213827的博客 829

kali攻防第2章 内网称霸之渗透安卓系统

Kali内网称霸之渗透安卓系统   准备工具   1、准备一部实体android手机 2、使用KALI系统     要用到强大的msf工具(metasplot)   流程步骤 1、启动msf命令是msfconsole 2、在安卓手机上安装一个自己生成的apk木马程序 3、利用msf工具来远程连接Android系统   1)启动msf(注意这里是链接msf就行了不需要进

安全参透之旅 1万+

python爬虫文献综述_Python爬虫入门(1):综述

首先爬虫是什么?网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。根据我的经验,要学习Python爬虫,我们要学习的共有以下几点:Python基础知识Python中urllib和urllib2库的用法Python正则表达式Python爬虫框架ScrapyPython爬虫更高级的功能1.Python基础学习...

weixin_34438187的博客 1852

易智联LM401模块学习(一)——初识Lora

Lora

weixin_46046597的博客 1054

python爬虫总纲:步入爬虫殿堂

网络爬虫概述 定义 网络蜘蛛、网络机器人,抓取网络数据的程序。 其实就是用Python程序模仿人点击浏览器并访问网站,而且模仿的越逼真越好。 爬取数据目的 1、获取大量数据,用来做数据分析 2、公司项目的测试数据,公司业务所需数据 企业获取数据方式 1、公司自有数据 2、第三方数据平台购买(数据堂、贵阳大数据交易所) 3、爬虫爬取数据 : 第三方平台上没有,或者价格太高 Python做爬虫优势...

漫漫前端路,进一寸有进一寸的欢喜 4737

4 屏 + 8 摄像头一开,谁在悄悄拖慢你的座舱域控?

如果你觉得座舱卡顿:❌ 别第一反应怪 SoC❌ 别盲目堆算力。

weixin_43199439的博客 148

★教程1:matlab学习教程入门100例目录

★基础入门 1.为什么要学习MATLAB 2.MATLAB安装 持续更新....... ★MATLAB基础编程语言熟悉

FPGA/MATLAB学习教程/源码/项目合作开发 4万+

python网络爬虫文献综述_python网络爬虫综述

本文主要是个人python学习过程中的碎碎念想,希望对感兴趣的童鞋有所帮助。百度百科上网络爬虫的定义是:“网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本”。使用网络爬虫可以个性化的从互联网上抓取个人干兴趣的数据,完成当前搜索引擎所做不到的一些个性化搜索。不太恰当的说,使用python编写网络爬虫,其实就...

weixin_39894914的博客 723

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

『哈士奇赠书33期』- 『Python网络爬虫入门到实战』

『哈士奇赠书33期』- 『Python网络爬虫入门到实战』

易编橙 · 终身成长社群,相遇已是上上签! 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Python网络爬虫知识点汇总

本篇博客用于记录学习到的Python网络爬虫相关知识点。urllib库,Python内置的HTTP请求库,官方文档链接在这里。request:最基本的HTTP请求模块,用来模拟浏览器发送请求,还带有处理授权验证(authentication)、重定向(redirection)、浏览器 Cookies 以及其他内容。error:异常处理模块,如果出现请求错误,可以捕获这些异常。parse:解析工具模块,包含许多URL处理方法,比如拆分、解析、合并等。

weixin_45517168的博客 1631

精雕软件(JDpaint) 5.5 绿色版

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

Python爬虫(1)基础概念

Python 爬虫架构主要由五个部分组成,分别是调度器、URL管理器、网页下载器、网页解析器、应用程序(爬取的有价值数据)。调度器:相当于一台电脑的CPU,主要负责调度URL管理器、下载器、解析器之间的协调工作。URL管理器:包括待爬取的URL地址和已爬取的URL地址,防止重复抓取URL和循环抓取URL,实现URL管理器主要用三种方式,通过内存、数据库、缓存数据库来实现。...

qq_34786604的博客 518
上一篇: 如何不下载软件来制作自己的网站
下一篇: Python爬虫 | 分析页面
锟斤拷有点烫
博客等级 码龄7年 20粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值