23.模拟登录cookies请求速询网站数据
采集速询网站数据: 网站地址:http://www.suxun0752.com/index.html 网站是需要账号登录才给返回信息的,我这里是直接拿的登录后的cookies请求的数据,cookies我也给了注释,没做深层的采集只是试采集了某一月份的。 简单分析一下 : 1.首先要先拿到cookies这样你才有权限去访问返回的数据。
2.分析页面翻页请求的参数,及需要筛选的标签年份、月份等。
把这几个参数综合起来去请求,就能完全获取页面数据了。我这里只是拿了一个月份的数据去请求获取数据。 问题:虽然有账号,但是采集到一定程度还是会被检测到访问过于频繁限制采集。
这里只是一个解决问题才去的简单方法。 采集状况,存入文本txt:

# coding:utf-8 import requests
import random,time
import json
#请求地址
target_url ='http://www.suxun0752.com/template/infoPrice/govlist.tdo?t=Fri%20Oct%2019%202018%2015:55:08%20GMT+0800%20(%E4%B8%AD%E5%9B%BD%E6%A0%87%E5%87%86%E6%97%B6%E9%97%B4)' headers = {
'Accept': '*/*',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Connection': 'keep-alive',
'Content-Length': '',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Cookie': '************账号来之不易******************',
'Host': 'www.suxun0752.com',
'Origin': 'http://www.suxun0752.com',
'Referer': 'http://www.suxun0752.com/template/channelView.thtml?channel_id=00af',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
'X-Requested-With': 'XMLHttpRequest',
}
#模拟请求参数
for i in range(0,400):
j=i*10
form_data={
'prov': '',
'city': '',
'area': '',
'year': '',
'month': '',
'key': '',
'code': '',
'start': '{}'.format(j),
'displayRecord':'',
} # 发送post请求,翻译数据
response = requests.post(target_url, data=form_data, headers=headers)
# print(response.text)
content = json.loads(response.text)
list = content['object']
# print(list)
for i in list:
id = i['id']
print(id)
name = i['name']
print(name)
area = i['area']
print(area)
city = i['city']
print(city)
price = i['price']
print(price)
nicePrice = i['nicePrice']
print(nicePrice)
month = i['month']
print(month)
note = i['note']
print(note)
code = i['code']
print(code)
file_id = i['file_id']
print(file_id)
spec = i['spec']
print(spec)
unit = i['unit']
print(unit)
year = i['year']
print(year)
print('*'*100) time.sleep(random.randint(1,2))
with open('text', 'a', encoding='utf-8')as f:
f.write('\n'.join([str(id),str(name),str(area),str(price),str(nicePrice),str(month),str(code),str(file_id),spec,str(unit),str(year)]))
f.write('\n' + '=' * 100 + '\n')

23.模拟登录cookies请求速询网站数据的更多相关文章
- C#模拟登录后请求查询
需求是这样子的,想开发一个外挂程序,能够抓取别的系统的数据,从而实现数据验证. 比如这样一个界面: 使用Chrome浏览器分析http请求和响应过程以及页面的html代码,发现这是一个ajax请求,于 ...
- 基于nodejs模拟浏览器post请求爬取json数据
今天想爬取某网站的后台传来的数据,中间遇到了很多阻碍,花了2个小时才请求到数据,所以我在此总结了一些经验. 首先,放上我所爬取的请求地址http://api.chuchujie.com/api/?v= ...
- C# 利用 HttpWebRequest 和 HttpWebResponse 模拟登录有验证码的网站
原文:C# 利用 HttpWebRequest 和 HttpWebResponse 模拟登录有验证码的网站 我们经常会碰到需要程序模拟登录一个网站,那如果网站需要填写验证码的要怎样模拟登录呢?这篇文章 ...
- PHP cURL实现模拟登录与采集使用方法详解教程
来源:http://www.zjmainstay.cn/php-curl 本文将通过案例,整合浏览器工具与PHP程序,教你如何让数据 唾手可得 . 对于做过数据采集的人来说,cURL一定不会陌生.虽然 ...
- Scrapy用Cookie实现模拟登录
模拟登录是爬取某些站点内容的一个关键,有些网站(特别是论坛类),不登录的话,一个数据也拿不到. 模拟登录有这样几个关键: 弄清楚登录的url一些网站打开出现登录的页面,地址栏大多数不是登录提交表单的u ...
- python实现模拟登录【转】
原文网址:http://www.blogjava.net/hongqiang/archive/2012/08/01/384552.html 本文主要用python实现了对网站的模拟登录.通过自己构造p ...
- scrapy模拟登录微博
http://blog.csdn.net/pipisorry/article/details/47008981 这篇文章是介绍使用scrapy模拟登录微博,并爬取微博相关内容.关于登录流程为嘛如此设置 ...
- python实现模拟登录
本文主要用python实现了对网站的模拟登录.通过自己构造post数据来用Python实现登录过程. 当你要模拟登录一个网站时,首先要搞清楚网站的登录处理细节(发了什么样的数据,给谁发等...). ...
- python模拟登录的实现
本文主要用python实现了对网站的模拟登录.通过自己构造post数据来用Python实现登录过程. 当你要模拟登录一个网站时,首先要搞清楚网站的登录处理细节(发了什么样的数据,给谁发等...). ...
随机推荐
- 瑞萨S5D9实现UART环形缓冲
队列的常见两种形式,普通队列和环形队列: 普通队列: 环形队列: 当有大量数据的时候,我们不能存储所有的数据,那么计算机处理数据的时候,只能先处理先来的,那么处理完后呢,就会把数据释放掉,再处理下一个 ...
- 前端之js-echarts组件介绍
Echarts.init: 全局 echarts 对象,在 script 标签引入 echarts.js 文件后获得,或者在 AMD 环境中通过 require('echarts') 获得. < ...
- pytest.9.使用fixture参数化接口入参
From: http://www.testclass.net/pytest/test_api_using_params/ 背景 接上一节v2ex网站的查看论坛节点信息的api.具体如下: 节点信息 获 ...
- C/C++中字符串和数字互转小结
一. 数字 转 char*型 1.sprintf函数(适合C和C++) 示例: char str[50]; int num = 345; sprintf(str,"%d",num) ...
- LeetCode——9. Palindrome Number
一.题目链接:https://leetcode.com/problems/palindrome-number/ 二.题目大意: 给定一个整数,判断它是否为一个回文数.(例如-12,它就不是一个回文数: ...
- Python 模块EasyGui详细介绍
转载:无知小德 Python 模块EasyGui详细介绍 EasyGui 官网: http://easygui.sourceforge.net 官方的教学文档:http://easygui-docs- ...
- Node.js 搭建HTTP服务器,提供文件下载
直接上代码,这是第一版,可以判断扩展名 var http = require('http'); var express = require('express'); var fs=require(&qu ...
- linux中文件名有英文括号的问题
文件名包含“()”的文件,输入“(“后按TAB键无法补全,手动输入文件全名也删除不了:提示bash: syntax error near unexpected token `('错误. 在linux中 ...
- centos6.8下l2tp客户端xl2tpd的安装配置
环境: DigitalOcean centos6.8作为l2tp客户端 ros6.43.8作为l2tp服务端 1.安装xl2tp和ppp rpm -ivh http://mirrors.yun-idc ...
- Jmeter(三十七)源码导入IDE(转!)
转自:http://www.cnblogs.com/taoSir/p/5144274.html[eclipse] https://blog.csdn.net/collonn/article/de ...