python爬虫流程

举报
Mr.Z事顺意 发表于 2023/01/17 19:09:48 2023/01/17
【摘要】 1.基本流程:a. 发送请求使用http库向目标站点发起请求,即发送一个Request,Request包含:请求头、请求体等。 Request模块缺陷:不能执行JS 和CSS 代码。b. 获取响应内容如果requests的内容存在于目标服务器上,那么服务器会返回请求内容。Response包含:html、Json字符串、图片,视频等。c. 解析内容对用户而言,就是寻找自己需要的信息。对于Pyt...

1.基本流程:

a. 发送请求

使用http库向目标站点发起请求,即发送一个Request,Request包含:请求头、请求体等。 

Request模块缺陷:不能执行JS 和CSS 代码。

b. 获取响应内容

如果requests的内容存在于目标服务器上,那么服务器会返回请求内容。

Response包含:html、Json字符串、图片,视频等。

c. 解析内容

对用户而言,就是寻找自己需要的信息。对于Python爬虫而言,就是利用正则表达式或者其他库提取目标信息。

解析html数据:正则表达式(RE模块),第三方解析库如Beautifulsoup,pyquery等

解析json数据:json模块

解析二进制数据:以wb的方式写入文件

d. 保存数据

解析得到的数据可以多种形式,如文本,音频,视频保存在本地。

数据库(MySQL,Mongdb、Redis)

文件

2.Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库。

爬虫中常用的方法:

requests.request() 构造一个请求,支撑一下个方法的基础方法。

requests.get() 获取HTML网页的主要方法,对应HTTP的GET requests.head() 获取HTML网页投信息的方法,对应HTTP的HEAD

requests.post() 向HTML网页提交POST请求的方法,对应HTTP的POST

requests.put() 向HTML网页提交PUT请求的方法,对应HTTP的PUT

requests.patch() 向HTML网页提交局部修改请求,对应HTTP的PATCH

requests.delete() 向HTML网页提交删除请求,对应HTTP的DELETE

3.网页爬取通用代码实现

import requests
def getHTMLText(url):
    try:
        r = requests.get(url,timeout=30)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return "产生异常"

if __name__ == "__main__":
    url = "http://www.baidu.com"
    print(getHTMLText(url))

以上是我个人的学习心得,能力有限,如有错误和建议,恳请批评指正!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。