使用正则表达式解析网页

1 回顾

在爬取网页数据之前,我们先来回顾一下爬虫的基本知识。

1.1 什么是爬虫

爬虫一般指抓取众多公开网站网页上数据的相关技术。

1.2 网络数据来源

网站对应的网页、手机APP等。

1.3 爬虫的基本流程

step1:获取网络数据,工具:requests、selenium、抓包工具(用于获取手机APP数据)

step2:解析数据,从获取到的网络数据中提取有效数据,工具:正则、基于css选择器的解析器(bs4)、基于xpath的解析器(lxml)

step3:保存数据,工具:csv、excel、数据等

2 使用正则表达式解析网页数据

2.1 requests

定义:Python获取网络数据的第三方库(基于http或者https协议的网络请求)。

使用场景:1)直接请求网页地址;2)对提供网页数据的数据接口发送请求。

2.2 请求内容

返回的真正有用的数据。

import requests
respone = requests.get(url)
表达式说明
respone.content获取二进制类型的数据(图片、视频、音频等)
respone.text获取字符串类型的数据(网页)
respone.json()获取对请求内容做完json解析后的数据(json数据接口)
respone.status_code获取网页状态码
2.3 示例
import requests
from re import *
import csv

# 获取网络数据
respone=requests.get('https://cd.zu.ke.com/zufang')

if respone.status_code==200:
    content=respone.text
    # 解析数据
    title = findall(r'(?s)<a class="twoline".+?>(.+?)</a>', content)
    names=[x.strip() for x in title]
    pay=findall(r'<span class="content__list--item-price"><em>(\d+)</em>',content)
   
    data=map(lambda i1,i2:(i1,i2),names,pay)
   
    f=open('贝壳1.csv','w',encoding='utf-8',newline='')
    writer=csv.writer(f)
    writer.writerow(['名称','价格'])
    writer.writerows(list(data))
    f.close()
    print('写入成功!')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值