1 #coding=utf-8

 import urllib2
import urllib
import json output = open('huizho.json', 'w')
for page in range(1,30): //爬取的页数,从1至29页
request =urllib2.Request('http://www.hdgtjy.com/Index/PublicResults')
request.add_header('X-Requested-With','XMLHttpRequest')
request.add_header('Content-Type','application/x-www-form-urlencoded')
values = 'page=%d&size=10'%page  或者values = 'page='+str(page)+'&size=10'

request.add_data(values)
response = urllib2.urlopen(request)
resHtml =response.read()
line = json.dumps(resHtml,ensure_ascii=False) + '\n'  //因为爬取的内容含有中文,所以ensure_ascii不能为默认值True; output.write(line)
output.close()
本段代码主要实现post请求方式的翻页功能,爬取的内容为某汽车网站的内容;编写代码遇到以下一个问题
1.当把12、13、14,行代码放到for循环上面,会发生当爬取的页数首位数发生改变时(这里因为网页原因只验证了个位数和两位数),爬取的内容出错(极大部分内容丢失,且爬取的不是目标内容)
  ;原因:request.add_data(value)这句代码,会造成数据持续叠加;出现BUG
 需要每次翻页时都请求服务器,才不会造成BUG出现。(此处理解不是很到位,不会说,望高手指正)
2.json.dumps()函数 ensure_ascii属性默认为True;当爬取的内容中含有中文时需要修改默认值。

post请求方式的翻页爬取内容及思考的更多相关文章

  1. scrapy爬虫系列之二--翻页爬取及日志的基本用法

    功能点:如何翻页爬取信息,如何发送请求,日志的简单实用 爬取网站:腾讯社会招聘网 完整代码:https://files.cnblogs.com/files/bookwed/tencent.zip 主要 ...

  2. 简易数据分析 12 | Web Scraper 翻页——抓取分页器翻页的网页

    这是简易数据分析系列的第 12 篇文章. 前面几篇文章我们介绍了 Web Scraper 应对各种翻页的解决方法,比如说修改网页链接加载数据.点击"更多按钮"加载数据和下拉自动加载 ...

  3. scrapy基于请求传参实现深度爬取

    请求传参实现深度爬取 请求传参: 实现深度爬取:爬取多个层级对应的页面数据 使用场景:爬取的数据没有在同一张页面中 在手动请求的时候传递item:yield scrapy.Request(url,ca ...

  4. Scrapy教程——搭建环境、创建项目、爬取内容、保存文件

    1.创建项目 在开始爬取之前,您必须创建一个新的Scrapy项目.进入您打算存储代码的目录中,运行新建命令. 例如,我需要在D:\00Coding\Python\scrapy目录下存放该项目,打开命令 ...

  5. python爬虫之爬取糗事百科并将爬取内容保存至Excel中

    本篇博文为使用python爬虫爬取糗事百科content并将爬取内容存入excel中保存·. 实验环境:Windows10   代码编辑工具:pycharm 使用selenium(自动化测试工具)+p ...

  6. 简单的爬虫爬的完整的<img>标签,修改正则即可修改爬取内容

    简单的爬虫爬的完整的<img>标签,生成<img>标签结果文件与爬虫经历的网页. <?php/** 从给定的url获取html内容** */function _getUr ...

  7. python爬虫爬取内容中,-xa0,-u3000的含义

    python爬虫爬取内容中,-xa0,-u3000的含义 - CSDN博客 https://blog.csdn.net/aiwuzhi12/article/details/54866310

  8. Python转页爬取某铝业网站上的数据

    天行健,君子以自强不息:地势坤,君子以厚德载物! 好了废话不多说,正式进入主题,前段时间应朋友的请求,爬取了某铝业网站上的数据.刚开始呢,还是挺不愿意的(主要是自己没有完整的爬取过网上的数据哎,即是不 ...

  9. 简易数据分析 10 | Web Scraper 翻页——抓取「滚动加载」类型网页

    这是简易数据分析系列的第 10 篇文章. 友情提示:这一篇文章的内容较多,信息量比较大,希望大家学习的时候多看几遍. 我们在刷朋友圈刷微博的时候,总会强调一个『刷』字,因为看动态的时候,当把内容拉到屏 ...

随机推荐

  1. Problem D: 零起点学算法95——弓型矩阵

    #include<stdio.h> #include<string.h> int main() { ][]; while(scanf("%d%d",& ...

  2. Problem I: 零起点学算法88——青年歌手大奖赛_评委会打分

    #include<stdio.h> int main(void) { ],n,i; while(scanf("%d",&n)!=EOF) { n>& ...

  3. <摘录>linux 默认的include

    #include <linux/module.h> 中的module.h默认是在哪个目录下呢?我在/usr/include/linux下并没有找到这个文件. 另外想问一下,不同内核版本的l ...

  4. Adaptive Query Optimization in Oracle Database 12c (12.1 and 12.2)

    https://oracle-base.com/articles/12c/adaptive-query-optimization-12cr1

  5. GitHub 上100个最受欢迎的Java基础类库

    作为一名整天与既成熟且不断发展的Java语言打交道的开发者,面对的困境之一就是在我们编写代码的时候,是使用一些人人谈论的人们新技术呢,还是坚持使用一些虽旧但成熟的类库? 由于Java应用中大部分是商业 ...

  6. VMware 8安装Mac OS X 10.7

    (Windows 7 X64环境下,VMware 8.0正式版)虚拟机首尝MAC OS X 10.7 Lion系统成功,特将此好消息分享.2年了,终于我也装上了Mac,我也成功的尝到了苹果味道,看着那 ...

  7. Controller和RestController的区别

    1. Controller, RestController的共同点 都是用来表示Spring某个类的是否可以接收HTTP请求 2.  Controller, RestController的不同点 @C ...

  8. 解决安卓TextView高度和textSize大小不一致问题

    在设计安卓界面的时候我发现一个TextView在布局上占用的高度和属性textSize的大小不一样,要比textSize要来的大(比如textSize="12dp",实际的高度大概 ...

  9. python numpy学习记录

    numpy是一个python和矩阵相关的库,在机器学习中非常有用,记录下numpy的基本用法 numpy的数组类叫做ndarray也叫做数组,跟python标准库中的array.array不同,后者只 ...

  10. distance field(占坑

    signed distance field https://kosmonautblog.wordpress.com/2017/05/09/signed-distance-field-rendering ...