用Python玩爬虫,首先得有一个流程,这个流程最适合小白用!
爬虫基本流程
发起请求
通过HTTP库向目标服务器发送Request,Request内可以包含额外的headers信息。
获取响应内容
如果服务器正常响应,会返回Response, 里面包含的就是该页面的内容。
解析数据
内容或许是HTML,可以用正则表达式、网页解析库进行解析。
或许是Json,可以直接转换为Json对象解析。
保存数据
可以存储为文本,也可以保存至数据库,或其他特定类型文件。
在这里还是要推荐下我自己建的Python开发学习群:483546416,群里都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2018最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴
Response中包含的内容
响应状态
Status Code:200
即状态码,一般200表示响应成功。
响应头
Response Headers
内容类型,内容长度,服务器信息,设置Cookie等。
响应体
请求资源的内容,如网页源代码,二进制数据等。
一般做网页请求的时候,可以先判断状态码是否是200,再取出响应体进行解析。
解析方式
直接处理
Json解析
正则表达式
BeautifulSoup
PyQuery
XPath
视情况选择合适的解析方式。
保存数据
文本保存
纯文本、Json、Xml等。
关系型数据库保存
MySQL、Oracle、SQLServer等。
非关系型数据库保存
MongoDB、Redis等Key-Value形式存储。
二进制文件
图片、视频、音频等特定文件。
Urllib库
Python内置的HTTP请求库
模块说明
urllib.request请求模块
urllib.error异常处理模块
urllib.parseurl解析模块
urllib.robotparserrobots.txt解析模块