小编Ter*_* Ng的帖子

9
推荐指数
1
解决办法
1833
查看次数

新手:如何克服Javascript"onclick"按钮刮网页?

这是我要抓的链接:http://www.prudential.com.hk/PruServlet? module = fund &purpose = searchHistFund&fundCd = MMFU_U

"英文版"选项卡位于右上角,以显示网页的英文版本.

我必须按一个按钮才能阅读网页上的资金信息.如果没有,则视图被阻止,并且使用scrapy shell总是导致空[].

<div onclick="AgreeClick()" style="width:200px; padding:8px; border:1px black solid; 
background-color:#cccccc; cursor:pointer;">Confirmed</div>
Run Code Online (Sandbox Code Playgroud)

AgreeClick的功能是:

function AgreeClick() {
var cookieKey = "ListFundShowDisclaimer";
SetCookie(cookieKey, "true", null);
Get("disclaimerDiv").style.display = "none";
Get("blankDiv").style.display = "none";
Get("screenDiv").style.display = "none";
//Get("contentTable").style.display = "block";
ShowDropDown(); 
Run Code Online (Sandbox Code Playgroud)

如何克服这个onclick ="AgreeClick()"函数来刮网页?

python scrapy web-scraping

9
推荐指数
1
解决办法
1万
查看次数

ValueError:list.remove(x):x不在列表中

我的代码有什么问题,但我可以得到预期的结果.

我想删除列表中的所有"#".

funds_U是数据列表:

In [3]: funds_U
Out[3]: 
[u'#',
 u'#',
 u'MMFU_U',
 u'#',
 u'#',
 u'AAI_U',
 u'TGI_U',
 u'JAS_U',
 u'TAG_U',
 u'#',
 u'#',
 u'AAT_U',
 u'BGR_U',
 u'BNE_U',
 u'IGE_U',
 u'#',
 u'#',
 u'DGF_U',
 u'BHC_U',
 u'FCF_U',
 u'SHK_U',
 u'VCF_U',
 u'#',
 u'JEM_U',
 u'SBR_U',
 u'TEM_U',
 u'#',
 u'#',
 u'BAB_U',
 u'BGA_U',
 u'#']
Run Code Online (Sandbox Code Playgroud)

以下是代码:

In [4]: for fund_U in funds_U[:]:
   ...:     funds_U.remove(u"#")
   ...:     
Run Code Online (Sandbox Code Playgroud)

以下是错误:

ValueError                                Traceback (most recent call last)
<ipython-input-4-9aaa02e32e76> in <module>()
      1 for fund_U in funds_U[:]:
----> 2     funds_U.remove(u"#")
      3 

ValueError: list.remove(x): x not in list
Run Code Online (Sandbox Code Playgroud)

python

4
推荐指数
2
解决办法
1万
查看次数

如何将csv文件读入具有多行索引级别的pandas DataFrame?

原始的 csv 文件数据是这样的:

06/04/2011,104.64,105.17
07/04/2011,104.98,105.51
08/04/2011,105.43,105.96
11/04/2011,104.47,104.99
Run Code Online (Sandbox Code Playgroud)

如何将 csv 文件读入 DataFrame 并添加多行索引级别,或将多行索引添加到 csv 并导入到 DataFrame 中,如下所示:

                JAS
      date      bid    ask
06/04/2011   104.64 105.17
07/04/2011   104.98 105.51
08/04/2011   105.43 105.96
11/04/2011   104.47 104.99
Run Code Online (Sandbox Code Playgroud)

python pandas

2
推荐指数
1
解决办法
5390
查看次数

Gobal变量但在while循环内而不在函数中

我是Python和Pandas的新手.现在我遇到了:

NameError:未定义名称'price'

我知道这是因为while循环.我是否需要将while循环放在函数容器中并使用return/yield?任何其他选项,以便可以达到价格变量?

随函附上我的部分程序:

fundspercentb = {}
for c in df.columns:
    if c[1] == 'bid':
        pass
    else:
        i = -1
        while df[c][i] == np.nan:
            i-=1
            if df[c][i] != np.nan: continue
            price=float(df[c][i])       # <----------------------------

        ma20=df[c].tail(20).astype(float).mean()
        movstd=df[c].tail(20).std()
        upperband=ma20+(2*movstd)
        lowerband=ma20-(2*movstd)
        percentb=(price-lowerband)/(upperband-lowerband)*100  # <------
        fundspercentb[c] = percentb

print fundspercent
Run Code Online (Sandbox Code Playgroud)

python pandas

0
推荐指数
1
解决办法
372
查看次数