用正则表达式爬取数据,网络爬虫正则表达式

本文介绍了如何使用Python的urllib和re模块通过正则表达式从指定URL抓取网页数据,包括设置请求头、解析HTML内容中的链接和标题信息。

大家好,小编来为大家解答以下问题,用正则表达式爬取数据,网络爬虫正则表达式,现在让我们一起来看看吧!

from urllib import request
import re
#定义URL
url='https://tieba.baidu.com/fkw=%B6%CE%D7%D3&fr=ala0&tpl=5&dyTabStr=MCw2LDIsNCw1LDMsMSw4LDcsOQ%3D%3D'
try:
    #定义请求头
    headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36'}
    #传入请求头
    req=request.Request(url,headers=headers)
    #打开网页
    resp=request.urlopen(req)
    #打印响应,解码
    content=resp.read().decode('utf-8')
    print(content)
    #正则表达式
    pattern=re.compile(r'<a rel="noopener".*?title=(.*?)\s.*?>(.*?)</a>')
    #匹配html
    items=re.findall(pattern,content)
    #打印解码的内容
    for i in items:
        print(i[0]+'\t'+i[1])
except request.URLError as e:
    if hasattr(e,'code'):
        print(e.code)
    if hasattr(e,'reasson'):
        print(e.reason)


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值