爬虫为什么还要解析?

import requests

url = 'https://www.wangwanghub.com/'

Response = requests.get(url, timeout=10)

我一直纳闷,request后为啥还要解析呢,request后不是已经得到要爬取的内容了吗.稍微了解一点request后才知道, response 返回的不止HTML内容,还有头部,状态码等内容

print(type(Respouse))
print(Response.headers)
print(Response.text)

<class ‘requests.models.Response’>


{‘Date’: ‘Mon, 13 Apr 2020 11:27:24 GMT’,
‘Content-Type’: ‘text/html; charset=utf-8’,
‘Transfer-Encoding’: ‘chunked’,
‘Connection’: ‘keep-alive’,
‘Cache-Control’: ‘max-age=300’,
‘gear’: ‘1’,
‘Vary’: ‘Origin,Accept-Encoding’,
‘Expires’: ‘Mon, 13 Apr 2020 11:32:24 GMT’,
‘X-Cache-Webcdn’: ‘MISS from ks-bj-bgp-w-07’}


html中的body内容,太多了不展示了

既然已经可以从 Response.text 中获得html了为什么不直接从txt文件里获取内容呢? 干嘛非要用解析器呢?其实也是可以直接从 Response.text 获取数据,由于type(Response.text )str 类型,必然会导致检索数据费时费力,所以就引来了 解析器,全称叫 网页解析器.
网页解析器:将一个网页字符串进行解析,可以按照我们的要求来提取出我们有用的信息.相当于把 str 变成规范化的“str”,这样就便于我们从中提取数据
有的解析器,比如bs4、html.parser、lxml ,把 str 变成结构化的“DOM”树,文档对象模型(Document Object Model),以此方便我们定位目标,提取数据.
变成这样
总结: 解析是为了方便人
嘻嘻

猜你喜欢

转载自blog.csdn.net/weixin_44355591/article/details/105495552