首页 > 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进行循环

【热门文章】
【热门文章】