python爬虫post参数_Python爬虫post参数包含重复键

我在写Python爬虫的时候,pycharm一直提示包含重复键,但程序可以运行。但是运行结果只爬了一部分内容下来。

三个“Pu00021_Iuput.content”只能运行一个。我试过设置参数for循环,都不行。求教!

coding=utf-8

”’ author:Chenwentao

date:2016-2-26

function:

抓取指定网页数据

”’

import urllib

import urllib2

import xlwt

import time

import sys

from bs4 import BeautifulSoup

头设置

loginHeaders = {

'Host':'www.dce.com.cn',

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0',

'Referer': 'http://www.dce.com.cn/PublicWeb/MainServlet?action=Pu00011_search',

'Content-Type': 'application/x-www-form-urlencoded',

'Connection': 'Keep-Alive'

}

参数设置\

post = {

'action': 'Pu00021_result',

'Pu00021_Input.trade_date': '20160425',

'Pu00021_Input.content': ['0', '1', '2'],

'Pu00021_Input.variety': 'a',

'Pu00021_Input.trade_type': '0',

'Pu00021_Input.contract_id': 'a1609',

}

reload(sys)

sys.setdefaultencoding(‘utf8’)

url = ‘http://www.dce.com.cn/PublicWeb/MainServlet’

postData = urllib.urlencode(post)

request = urllib2.Request(url, postData, loginHeaders)

opener = urllib2.build_opener()

response = opener.open(request)

content = response.read().decode(‘gbk’)

soup = BeautifulSoup(content, ‘xml’)

print content

在python里面,如果key相同以最后一次出现的key为准,也就是说你只运行了value为2

你可以考虑这样写

post = {

'Pu00021_Input.content': ['0', '1', '2']

}

对value进行循环

发三个请求。你现在的做法相当于重新赋值两次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值