http://www.swsindex.com/idx0120.aspx?columnid=8832
网页源码中没有需要的数据,数据是 js 获取的。
1
hcwhan 2016 年 1 月 20 日
|
2
crab 2016 年 1 月 20 日
URL : http://www.swsindex.com/handler.aspx
Method : POST DATA : tablename=swzs&key=L1&p=1&where= L1 in('801010','801020','801030','801040','801050','801060','801070','801080','801090','801100','801110','801120','801130','801140','801150','801160','801170','801180','801190','801200','801210','801220','801230','801710','801720','801730','801740','801750','801760','801770','801780','801790','801880','801890')&orderby=&fieldlist=L1,L2,L3,L4,L5,L6,L7,L8,L11&pagecount=28&timed=1453283369415 |
6
kingmo888 OP @crab 我在 IE11 下,使用网络跟踪,得到一个 POST 请求:
tablename=V_Report&key=id&p=1&where=BargainDate = (select max(bargaindate) from SwIndexQuotation where swindexcode='801003' ) and type='day' and swindexcode in ('801010','801020','801030','801040','801050','801060','801070','801080','801090','801100','801110','801120','801130','801140','801150','801160','801170','801180','801190','801200','801210','801220','801230','801710','801720','801730','801740','801750','801760','801770','801780','801790','801880','801890')&orderby=swindexcode asc,BargainDate_1&fieldlist=SwIndexCode,SwIndexName,BargainDate,CloseIndex,BargainAmount,Markup,TurnoverRate,PE,PB,MeanPrice,BargainSumRate,NegotiablesShareSum,NegotiablesShareSum2,DP&pagecount=28&timed=1453536458577 ----- 我构造了一个 post 的 URL ,访问时需要有登录权限。 你的那个 post ,在访问时也是需要登录权限的。 |
7
crab 2016 年 1 月 23 日
@kingmo888 测试完全可以
 |
8
lijsh 2016 年 1 月 24 日
|
10
kingmo888 OP @lijsh 抱歉看到后第一时间去学习了没能即时回复。看了一晚上没看明白。第一次接触 python 爬虫。当然,小白不是理由。我仍在努力。
|
11
lijsh 2016 年 1 月 26 日
@kingmo888 你看原页面是用$.ajax 方法 post 一个"tablename=swzs&key=L1&p="+(pageindx+1)+"... 这样的字符串过去获取 json 结果的;用 Python 的话思路也类似,用 requests 的 post 方法, data 参数要把上面这个字符串转换成 dict ;我之前测过,可以得到结果
|
12
kingmo888 OP @lijsh 你好,像这种“ where swindexcode='801003' ) and type='”条件怎么转化为 dict 呢。
如果能提供一份例子就太好了。 |
13
mikezhang0515 2016 年 1 月 26 日
@crab 请问如何跟踪到这个数据的
|
14
lijsh 2016 年 1 月 27 日
@kingmo888 https://gist.github.com/lijsh/7d3911dfe19c01941b45 新学 Python ,方法比较原始,能用就行。
|