Python内置的urllib模块,用于访问网络资源。但是,它用起来比较麻烦,而且,缺少很多实用的高级功能。 更好的方案是使用requests。它是一个Python第三方库,处理URL资源特别方便

本文通过Python的requests和lxml库演示了如何获取并解析网页内容,包括设置编码、提取网页状态码、HTML内容转储到文件以及使用XPath提取页面标题。示例代码详细展示了从请求网页到处理响应的完整流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import requests
from lxml import etree  #  格式化网页代码需要用到
res = requests.get("https://www.baidu.com")
####此处可以提前指定访问编码,否则后边不确定编码格式
####方便输出 网页用的其他格式也会转换过来 比较方便
res.encoding = "utf-8"
#### 返回状态
print(res.status_code)
print(res.encoding)
####res已经是返回的object
#print(res.text)
print(type(res)) #res <class 'requests.models.Response'>
print("***********************************************")
#### bytes型数据 可以直接流式往文本文件里写 中文字符都转换为  \xe5\x85\xb3\xe4
html_txt = res.content
#print(html_txt)
print(type(html_txt)) # <class 'bytes'>
print("***********************************************")
#### 转换后成了str类型,改变编码
html_doc = str(html_txt,"utf-8")
#print(html_doc)
print(type(html_doc)) # res <class 'str'>
print("***********************************************")

####  wd 读写方式只能写 bytes 类型的数据 html_txt
with open("test_txt.html","wb") as f:
    f.write(html_txt)
##### 转换成 str类型之候 写入文件的时候不能用 WB 了   只能用 w 因为指定了编码为 UTF-8 此时需要转换编码
with open("test_doc.html","w",encoding="utf-8") as f:
    f.write(html_doc)
####开始过滤代码
html = res.text
#### 构造XPath解析对象,同时可以自动修正HMTL文本(标签缺少闭合自动添加上)
#### 对象不能直接输出 也不能写入记事本
select_txt = etree.HTML(html) #<Element html at 0x234c140>
title = select_txt.xpath("//title/text()")
print(title)
print(title[0])

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值