惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
Y
Y Combinator Blog
博客园 - 【当耐特】
V
Visual Studio Blog
GbyAI
GbyAI
V
V2EX
P
Proofpoint News Feed
Microsoft Azure Blog
Microsoft Azure Blog
Microsoft Security Blog
Microsoft Security Blog
D
DataBreaches.Net
Hugging Face - Blog
Hugging Face - Blog
A
About on SuperTechFans
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
N
Netflix TechBlog - Medium
aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed
量子位
MongoDB | Blog
MongoDB | Blog
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
Stack Overflow Blog
Stack Overflow Blog
小众软件
小众软件

司马他

SkillsMiddleware解析 | 司马他 北京可以做便宜核酸的几十家医院整理 | 司马他 分享一首音乐《Honey Take My Hand》 | 司马他 基于开源项目免费获得JetBrains全家桶License | 司马他 一些小物件分享 | 司马他 自建博客小记 | 司马他 InnoDB存储引擎 | 司马他 MySQL体系结构和存储引擎 | 司马他 你了解自己么? | 司马他
爬虫角度看第三方12306抢票服务 | 司马他
2018-07-12 · via 司马他

目录

  • 1 爬虫
    • 1.1 君子协议robots.txt
    • 1.2 反爬虫策略
    • 1.3 爬虫策略
  • 2 HTTP协议
  • 3 PHP的请求
    • 3.1 三种请求方式
    • 3.2 curl 参数详解
  • 4 分析12306业务调用流程

爬虫

针对网络上信息的抓取 过滤 排名 利用,
取网页数据->存储数据->内容处理->提供检索
这种提供结果不具有特殊性,不能针对不同背景领域的人提供不同的搜索结果,只能提供信息的查询。

君子协议robots.txt

User-agent: *
Disallow: /wp-admin/
Sitemap: http://www.xxx.us/sitemap.xml

反爬虫策略

1、IP限制
看某一IP请求次数是否超阈值

2、UA限制
某些爬虫模拟百度家等蜘蛛,可以看其IP是否百度家的

3、验证码
其更换时间点或者更换时间段,可以设置超过多少次出验证码

4、数据下放策略
数据异步获取,js加密库生成动态token,再加密库混淆,当然有可能会被其使用内置浏览器引擎的爬虫软件来处理。。。

爬虫策略

减少请求次数
寻找app web等其他接口
代理IP、多线程、分布式多任务爬取想要的数据

HTTP协议

基于TCP/IP通信协议来传递数据的应用层协议,简单、灵活、无连接、无状态

URI 统一资源标识符传输数据和建立链接。
URL 统一资源定位符,特殊类型的URI,包含了勇于查找某个资源的足够信息。

协议部分 域名部分 端口部分 虚拟目录部分 文件名部分 喵部分 参数部分

请求消息:
第一部分 请求行,用来说明请求类型,要访问的资源以及所使用的HTTP版本
第二部分 请求头部,紧接着请求行之后的一部分,用来说明服务器要使用的附加信息
第三部分 空行
第四部分 请求数据主体

响应消息:
第一部分 状态行,由HTTP协议版本号、状态码、状态消息组成。
第二部分 消息报头,用来说明客户端要使用的一些附加信息。
第三部分 空行,消息报头后面的空行是必须的。
第四部分 响应正文,服务器返回给客户端的文本信息。

Http的响应代码:

PHP的请求

三种请求方式

curl
wget
file_get_contents

curl 参数详解

初始化:
https://kyfw.12306.cn/otn/login/init

验证码:
https://kyfw.12306.cn/passport/captcha/captcha-image

打码验证:
https://kyfw.12306.cn/passport/captcha/captcha-check

提交登录:
https://kyfw.12306.cn/passport/web/login

https://kyfw.12306.cn/passport/web/auth/uamtk

https://kyfw.12306.cn/otn/uamauthclient

获取个人信息:
https://kyfw.12306.cn/otn/modifyUser/initQueryUserInfo