Python列车信息爬虫
Python爬虫我已经写过很多了,其实很大部分都是在重复。所以这篇或者是以后的博客都不会从头到尾讲爬虫,只是会将之前没有遇到的问题给重点列出来。
1.任务分析
这是我们要爬取的网站,我们要做的就是输入出发地和目的地 然后点击提交按钮。例如输入上海,北京,点击提交即会出现这个如下页面。
这是有直达的情况,当然也有非直达的情况,例如大连和东莞。
所以我们在获取数据的时候要分析这两种情况。还有我们发现这是一个POST请求,我们打开开发者工具,查看请求参数。像这样的请求参数多半是因为中文引起的,而根据我以往的经验我猜测from,to是我输入的出发地和目的地。Submit是提交。
2.构造POST请求
post_data = {
'from': '大连',#自己设置A城市
'to': '上海',
'Submit': '提交',
'act': '3',
}
post_url = 'http://qq.ip138.com/train/search138.asp'
response = requests.post(post_url, data=post_data, headers=headers, )
response.encoding = 'gb2312' # 设置字符编码
html = respon