有必要通过某些时间段来获取对网站http://mediametrics.ru/rating/ru/online.html上列表的第一条新闻的引用。
我正在开发Python,Selenium。 我尝试了不同的方法:阅读html,并尝试从JavaScript获得响应,但没有任何反应。
答案 0 :(得分:2)
好的,一直在尝试不同的方法来帮助您解决问题。最后我有了一个主意。
所以基本上你不能依赖通过访问该页面获得的静态html。因此,查看浏览器中的Network
选项卡,我发现两个请求在X秒内完成(没有注意到这一点)。
因此,您可以通过调用此URL获取您的第一个信息(列表顶部):
http://mediametrics.ru/rating/ru/online.tsv?page=1&update=1401216280
最后一个参数update
,您需要根据提出请求的时间对其进行相应更改。这是一个纪元时刻。
根据该请求,您会收到内容类型text/plain
的回复。不幸的是,这不是你最大的回应:
URL Title Visitors Delta Shift ID 819 1401216700 0
508 -7 0 88680394
247 4 0 88193830
137 0 -1 88777121
135 -3 1 88585317
110 -3 -5 12773355 hot
92 0 0 88724182
79 -2 0 88171489
76 1 0 88325612
59 -3 0 88362537
58 -2 0 88585583
48 0 -1 88473319
47 0 -1 88782428
46 0 -31 88470684 hot2
45 -5 1 88865695
44 1 -1 88652852
44 2 -1 88679946
43 -1 2 88711744
40 1 0 88652022
38 1 0 88681949
37 0 -1 88359733
36 2 -2 88612187
35 1 -18 88671532 hot
35 -2 0 88324438
34 1 0 88869913
34 1 0 88586542
33 0 0 88509191
33 0 2 88717302
32 0 -20 88603116 hot
31 -2 2 88176393
30 0 -30 88644435 hot2
29 1 0 88686770
28 -2 0 88213989
26 0 -1 88562683
24 -3 2 88634740
24 0 -12 88247749 hot
24 0 0 88257193
24 0 0 88350559
21 -2 0 88682576
21 0 -4 88847895
19 0 -1 88864392
19 0 -1 88677033
19 0 -3 88850105
18 0 0 88658580
17 0 -3 88649865
17 1 -18 88578308 hot
17 1 5 88326429
16 0 -1 88285506
16 -1 0 88603395
15 -2 4 88527942
15 2 -16 88199416
基本上,从第二列开始,您需要第4个字段(即88680394
)。
这只会向您提供您的网站ID,要从此“网站ID”获取其余信息,您需要向此页面发出另一个请求,指定您之前提取的“网站ID”:
http://mediametrics.ru/rating/index.tsv?titles=88680394
这将返回以下回复:
russian.rt.com/article/33873 Ополченцы ДНР: К нам пришло большое подкрепление 0 0 0 88680394 hot
从最后一个回复中,您可以完成所需的信息。 我没有给出实际的实现,但考虑到你提到你已经尝试过Python,我认为从这里开始实现它会更容易。
答案 1 :(得分:0)
如果我正确理解你.....,请尝试使用requests和BeautifulSoup。
Here你可以找到非常好的教程。