【发布时间】:2014-04-24 06:18:01
【问题描述】:
有必要通过某些时间段获得对站点http://mediametrics.ru/rating/ru/online.html 列表的第一条新闻的引用。
我正在通过 Python Selenium 进行开发。 我尝试了不同的方法:阅读 html,并尝试从 JavaScript 获取响应,但没有任何反应。
【问题讨论】:
标签: javascript python html selenium
有必要通过某些时间段获得对站点http://mediametrics.ru/rating/ru/online.html 列表的第一条新闻的引用。
我正在通过 Python Selenium 进行开发。 我尝试了不同的方法:阅读 html,并尝试从 JavaScript 获取响应,但没有任何反应。
【问题讨论】:
标签: javascript python html selenium
好的,一直在尝试不同的方法来帮助解决您的问题。终于有个主意了。
所以基本上你不能依赖通过访问该页面获得的静态 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
基本上,从第二列开始,您需要第四个字段(即88680394)。
这只会为您提供您的站点 id,要从此“站点 id”获取其余信息,您需要向此页面发出另一个请求,指定您之前提取的“站点 id”:
http://mediametrics.ru/rating/index.tsv?titles=88680394
这将返回以下响应:
russian.rt.com/article/33873 Ополченцы ДНР: К нам пришло большое подкрепление 0 0 0 88680394 hot
您可以从最后的回复中填写您需要的信息。 我没有给出实际的实现,但考虑到你提到你已经尝试过 Python,我想从这里开始你的实现会更容易。
【讨论】:
如果我正确理解你.....,请尝试使用requests 和BeautifulSoup。
Here你可以找到非常好的教程。
【讨论】: