Python爬取简单网页内容

这篇博客介绍了作者初次学习Python爬虫的经历,使用了最基础的正则表达式和urllib库来抓取网页内容。首先导入re和urllib.request模块,接着打开指定URL获取网页源代码,然后使用正则表达式编译匹配所需信息,最后处理可能出现的反爬机制问题,如添加header来伪装浏览器访问。
摘要由CSDN通过智能技术生成

Python爬取简单网页内容

分享一下第一次学习爬虫的过程。之前一直有听说过爬虫,但是也没有接触过爬虫。在需要爬取网页信息的时候,才开始着手学习爬虫。Python爬虫有很多种方法,例如使用scrapy,xpath,panda等,都可以实现爬取网页内容的需求。今天要分享的是我学习爬虫的第一种方法。使用最原始的正则,去匹配网页中的内容。

1.导入re模块
re 模块使 Python 语言拥有全部的正则表达式功能。compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。re模块中还包含很多其他的函数,但是我们只需要用到compile函数。
import re

2.导入urllib库
urllib库主要具有以下功能:网页请求、响应获取、代理和cookie设置、异常处理、URL解析。我们需要请求网页,获取网页信息,需要用到urllib库。
import urllib.request

3.获取网页内容
使用urllib的request中的urlopen打开网址
读取网页源代码,并且转码为utf-8
可以直接print,查看一下获取到的网页源代码

url='https://......'
a = urllib.request.urlopen(url)#打开网址
html = a.read().decode('utf-8')#读取源代码并转为unicode
print(html)

4.使用正则获取网页中需要的信息
调用re的compile函数,编写正则,匹配对应的源代码信息,输出获取到的信息
reg=re.compile(r'<span class="edu">(.*?)</span>',re.S)
items=re.findall(reg,html)
print(items)

5.可能出现的问题
有些网站可能反爬机制比较强,直接使用requests可能不能直接获取到网页的源代码。如果在第三步遇到不能获取网页源代码的情况,可以添加一个header,利用header来打开网址,获取网页的源代码。header中包括user-agent和cookie。通过打开需要爬取的网址,按f12可查询网页的user-agent和cookie。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值