网页源代码抓取工具(请求头注意携带4、请求体如果是是get方式)
优采云 发布时间: 2022-04-11 23:03网页源代码抓取工具(请求头注意携带4、请求体如果是是get方式)
请求:用户通过浏览器(socket client)将自己的信息发送到服务器(socket server)
响应:服务器收到请求,分析用户发送的请求信息,然后返回数据(返回的数据可能收录其他链接,如:图片、js、css等)
ps:浏览器收到Response后,会解析其内容展示给用户,爬虫模拟浏览器发送请求后提取有用数据,然后接收Response。
四、 请求
1、请求方法:
常见的请求方式:GET / POST
2、请求的网址
url 全局统一资源定位器,用于定义互联网上唯一的资源 例如:图片、文件、视频都可以通过url唯一标识
网址编码
图片
图像将被编码(见示例代码)
一个网页的加载过程是:
加载网页通常会先加载文档,
在解析document文档时,如果遇到链接,则对该超链接发起图片下载请求
3、请求头
User-agent:如果请求头中没有user-agent客户端配置,服务器可能会将你视为非法用户主机;
cookies:cookies用于存储登录信息
注意:一般爬虫会添加请求头
请求头中需要注意的参数:
(1)Referrer:访问源从哪里来(有些大的网站,会使用Referrer做防盗链策略;所有爬虫也要注意模拟)
(2)User-Agent: 访问的浏览器(需添加否则视为爬虫)
(3)cookie: 请注意请求头
4、请求正文
如果请求体在get方法中,则请求体是没有内容的(get请求的请求体放在url后面的参数中,可以直接看到)。如果是在post方法中,请求体为格式dataps:1、登录窗口,文件上传等,信息会附在请求体2、登录,输入错误的用户名和输入密码,然后提交,就可以看到帖子了,正确登录后,页面一般会跳转,帖子无法被抓取
五、 响应
1、响应状态码
200:代表成功
301:代表跳转
404: 文件不存在
403:未经授权的访问
502:服务器错误
2、响应头
响应头中需要注意的参数:
(1)Set-Cookie:BDSVRTM=0; path=/: 可能不止一个,就是告诉浏览器保存cookie
(2)Content-Location:服务器响应头收录Location返回浏览器后,浏览器会重新访问另一个页面
3、预览是网页的源代码
JSO 数据
如网页html、图片
二进制数据等
1、爬虫流程总结:
爬取--->解析--->存储
2、爬虫需要的工具:
请求库:requests、selenium(可以驱动浏览器解析和渲染CSS和JS,但有性能劣势(会加载有用和无用的网页);)
解析库:regular、beautifulsoup、pyquery
存储库:文件、MySQL、Mongodb、Redis