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实现登录过程. 当你要模拟登录一个网站时,首先要搞清楚网站的登录处理细节(发了什么样的数据,给谁发等...). ...
随机推荐
- overflow标签
有时父标签设置了固定的宽高,但子标签把父标签给撑开了,就要在父标签里加一个overflow标签,等于hidden超出的地方隐藏,等于auto超出的地方隐藏,并且多个滚动条 <div style= ...
- sqlalchemy操作----多表关联
有二张表,一张作者表,一张书表,一个作者写多本书,一本书可以由多个作者写,与是通过新加一张关系表把他们联系起来 #!/usr/bin/env python # -*- coding: utf-8 -* ...
- 坑人的 Javascript 模块化编程 require.js
坑人的 Javascript 模块化编程 require.js
- 关于Java大数操作(BigInteger、BigDecimal)
本文目标 可以使用BigInteger操作大整数 可以使用BigDecimal指定小数的保留位数 基础知识 对于二进制来说,最高位代表正负号,-0表示-128,+0表示032位系统int型4个字节:- ...
- LeetCode——18. 4Sum
一.题目链接:https://leetcode.com/problems/4sum/ 二.题目大意: 给定一个数组A和一个目标值target,要求从数组A中找出4个数来使之构成一个4元祖,使得这四个数 ...
- [转][MVC]更新 dll 后版本不匹配的问题
<dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken=" ...
- 弹性势能,position,min用法,获取元素的宽
弹性势能: 网页div移动的mousemove的次数,跟div移动的距离没有关系,跟鼠标移动的快慢有关,浏览器自身有个计数事件,几毫秒 _this.seed*=0.95 //摩擦系数的写法 posit ...
- Linux下的文件操作——基于文件描述符的文件操作(2)
文件描述符的复制 MMAP文件映射 ftruncate修改文件大小 文件描述符的复制 系统调用函数dup和dup2可以实现文件描述符的复制,经常用来重定向进程的stdin(0), stdout(1 ...
- Centos7.0根分区扩容
添加一块10G的硬盘 查看磁盘大小 # df -Th 查看物理卷组 # vgdisplay 查看逻辑卷 # lvs 查看磁盘信息 # fdisk -l 对添加的10G硬盘分区 # fdisk /dev ...
- android adb push 命令
1.获得root权限:adb root 2.设置/system为可读写:adb remount 3.将PC机上文件复制到手机:adb push 文件名 /system/lib