爬虫-5-URL格式和http格式

爬虫 · 2019-08-13

URL格式



说明:

  • 协议

    URL地址都有协议,有的看不到,但是在网址栏复制后粘贴到浏览器搜索框就可以看到

  • 参数

    ?开头&结尾的就是URL参数,很多时候参数没用,可以删掉,不影响页面内容。

  • anchor锚点(主播)

    后面爬取直播网址,可以用anchor爬取主播名字,前端讲过。

    带锚点的URL,实现页面跳转,跳转到对应的位置。

    带锚点和不带锚点请求的URL对应的响应是一致的。后面爬虫的时候可以直接把锚点删掉,不影响响应。

http请求形式

进百度主页查看具体的http形式

http常见请求头

  • 进入主页-右击查看-network-左侧name点一个URL请求-Headers

  • Headers

    共有General、Response Headers、Request Headers三个,查看Request Headers,点view source按钮,得到的内容就是上面图片的内容

.----请求行(用post请求才会有请求体)

GET / HTTP/1.1

.

----请求头部(是客户端告诉服务端的)

Host: www.baidu.com-----域名

.

Connection: keep-alive-----链接:保持链接,支持使用长链接,就不用频繁的三次握手四次挥手,提速

.

Cache-Control: max-age=0

.

Upgrade-Insecure-Requests: 1----升级不安全的请求,http请求是不安全的请求,转换成https

.

User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36------用户代理/浏览器身份标识,浏览器版本,电脑信息等,让服务器知道访问它的程序是什么样的,

.

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3------告诉服务器可以接收什么样的数据:文本、图片html页面

.

Accept-Encoding: gzip, deflate, br-----告诉服务器可以接收什么样的压缩方式,页面数据压缩为了提高效率

.

Accept-Language: zh-CN,zh;q=0.9-----可以接受的语言,q表示权重,更愿意接收中文

.

Cookie: PSTM=1499736978; BIDUPSID=0786E3FFBAAEF7BC3FED14E4DA59D6A9; BAIDUID=C730D2B58F59CFA882E60765BE1A04CA:SL=0:NR=10:FG=1; sug=3; sugstore=0;ORIGIN=0;bdime=0;MCITY=-315%3A;COOKIE_SESSION=0_0_1_0_1_8_0_0_0_1_2_0_0_0_3738_0_1559724257_0_1559720519%7C1%230_0_1559720519%7C1; delPer=0;BD_HOME=0;H_PS_PSSID=1440_21082_29520_28518_29098_29568_28838_29221_26350; BD_UPN=12314353

----  cookie是用来保存用户的个人信息,保存在浏览器本地,不安全,一个站点的cookie是有上限的,session保存在对方服务器,更安全,没有上限。

-------cookie之间用分号和空格隔开。等号前后就是network–cookies下,name和value对应的值,拿到name和value放到headers中就可以更好的模仿http请求,其它的内容不用管。

- User-Agent详解

点击红框处,刷新,可在Chrome浏览器中访问手机版的百度,还可以选择手机型号和放大比例。虽然访问的地址一样,但是网页版浏览器和手机版浏览器看到的内容是不一样的,服务器是根据User-Agent来区分的。爬虫通过模仿User-Agent就可以模仿浏览器请求数据,可以复制次数的User-Agent放到代码里来达到模仿的目的。

referer简介:

当前URL地址是从哪个URL过来的。

  • 请求头中User-Agent和cookie是重点

    一般来说带上User-Agent,偶尔带上cookie就可以模仿浏览器发送请求。如果还不行,就把上面的字段都带上。因为有时需要登录后才能请求数据,所以需要cookie。

    对方服务器可以通过cookie判断是否是爬虫,服务器可能抛出500或错误数据,此时需要反反爬虫。

常见的请求方法

  • get

    用的时候比较多

  • post

    用于提交表单时(密码安全),传输大量数据时(百度翻译)。

响应状态码

记住常用状态码即可

被识别为爬虫后可能会遇到500

文章推荐:

爬虫-5-URL格式和http格式

发表评论

控制面板

您好,欢迎到访网站!

  查看权限