Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Получение информации с сайта  (Прочитано 162 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Сэм

  • Автор темы
  • Активист
  • *
  • Сообщений: 268
    • Просмотр профиля
Получение информации с сайта
« : 13 Октябрь 2017, 07:35:20 »
Добрый день.
Есть вот такой сайт http://app.echr.coe.int/SOP/index.aspx?lg=en  где вводя номер (в формате 2/17 (числа взяты условно, для примера), где первое число - номер дела, после косой черты - год) можно получить информацию по делу (там нет никакой личной информации, только фамилия заявителя и номер дела, проверьте, если есть в этом необходимость)
Подскажите, есть ли возможность автоматизировать процесс ввода номера дела и сохранения результатов на комп, к примеру в таблицы? А то вручную вводить даже сто цифр это сложновато.
Или хотя бы подскажите, в каком направлении копать.
Спасибо.
Ubuntu 16.04.2 LTS х64; GeForce GT 540M; Intel(R) Core(TM) i5-2410M CPU @ 2.30GHz

Оффлайн scsiman

  • Участник
  • *
  • Сообщений: 239
    • Просмотр профиля
Re: Получение информации с сайта
« Ответ #1 : 13 Октябрь 2017, 11:14:55 »
подскажите, в каком направлении копать
Headless browser, scraping (к сожалению, основной объём информации будет на английском). Можно делать автоматически практически всё, что может сделать человек с браузером.

Если не стрелять из пушки по воробьям, то можно попробовать тупо генерить POST-запрос curl'ом или иным способом (сначала посмотрите в исходнике страницы, какие поля у формы и как надо заполнять, возможно, понадобится отсылать cookie и т.п.).
Dell Studio XPS 16, Ubuntu 14.04 LTS (Home).
HP nx6110, Ubuntu 8.04 LTS => 10.04 LTS (Home).

Оффлайн EvangelionDeath

  • Старожил
  • *
  • Сообщений: 1785
  • Ubuntu Mate 16.04 х64
    • Просмотр профиля
Re: Получение информации с сайта
« Ответ #2 : 13 Октябрь 2017, 11:44:30 »
Вообще-то для этого подойдет обычный граббер страниц реализованый через курл + парсер (если надо все "аккуратно") в табличку. В граббере же реализовать генерацию данных для пост-реквеста
Fujitsu UH552: Intel Core i3-3217U, 16GB DDR3 1600MHz, Intel HD4000, Intel 535 120GB/Ubuntu 16.04 Mate
HP 625: AMD Athlon P320, 4GB DDR3 1333MHz, AMD HD4250, Seagate Momentus/Ubuntu 14.04 Mate

Оффлайн Сэм

  • Автор темы
  • Активист
  • *
  • Сообщений: 268
    • Просмотр профиля
Re: Получение информации с сайта
« Ответ #3 : 13 Октябрь 2017, 23:40:07 »
scsiman,
(сначала посмотрите в исходнике страницы, какие поля у формы и как надо заполнять, возможно, понадобится отсылать cookie и т.п.)
вот исходник страницы - посмотрите, пожалуйста, смогу ли я реализовать свою задачу по Вашим советам, имея нулевые знания в этом вопросе (но есть желание и необходимость реализовать такую задачу)
Код: HTML
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3.     <head id="Head1"><title>
  4.  
  5. </title><link href="Style/CSS/BootStrap/EchrBootStrap.css" rel="stylesheet" />
  6.         <script type="text/javascript">
  7.  
  8.             function DivStatus(nom) {
  9.                 var e = document.getElementById(nom);
  10.                 if (document.getElementById && document.getElementById(nom)) // Pour les navigateurs récents
  11.                {            
  12.                    if (e.style.display == 'block')
  13.                        e.style.display = 'none';
  14.                     else
  15.                         e.style.display = 'block';
  16.                 }
  17.                 else if (document.all && document.all[nom]) // Pour les veilles versions
  18.                {
  19.                    if (e.style.display == 'block')
  20.                        e.style.display = 'none';
  21.                     else
  22.                         e.style.display = 'block';
  23.                 }
  24.                 else if (document.layers && document.layers[nom]) // Pour les très veilles versions
  25.                {
  26.                    if (e.style.display == 'block')
  27.                        e.style.display = 'none';
  28.                     else
  29.                         e.style.display = 'block';
  30.                 }
  31.             }  
  32.         </script>
  33.     </head>
  34.     <body>
  35.  
  36.         <div class="EchrPageWrapper">
  37.             <div class="EchrPageBanner">
  38.                 <div class="EchrAppText">
  39.                    <span id="LabelTitle">State of Proceedings Online</span>                
  40.                 </div>
  41.                 <div class="EchrCourtLogo" ></div>
  42.                 <div class="EchrCourtSearch" >
  43.                     <div class="EchrFooterTopMenu">
  44.  
  45.                     </div>
  46.                     <div class="right-inner-addon">
  47.  
  48.                     </div>
  49.                 </div>
  50.             </div>
  51.  
  52.             <div id="page" class="EchrPageContent ">
  53.                
  54.                     <form name="form1" method="post" action="./index.aspx?lg=en" id="form1">
  55. <div>
  56. <input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="" />
  57. <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNjc2MDg0ODgzD2QWBAIDDw8WAh4EVGV4dAUbU3RhdGUgb2YgUHJvY2VlZGluZ3MgT25saW5lZGQCBQ9kFgQCAQ8PFgIeB1Zpc2libGVnZBYSAgEPDxYCHwAFIFBsZWFzZSBlbnRlciBBcHBsaWNhdGlvbiBudW1iZXI6ZGQCBQ8PFgIfAAUGU3VibWl0ZGQCBw8PFgIfAAUFQ2xlYXJkZAIJDxYCHwFoZAILDw8WAh8ABZwBVGhlIENvdXJ04oCZcyBTdGF0ZSBvZiBQcm9jZWVkaW5ncyAoU09QKSBzZWFyY2ggZW5naW5lIGVuYWJsZXMgcGFydGllcyB0byBmaW5kIG91dCB0aGUgY3VycmVudCBwcm9jZWR1cmFsIHN0YXRlIG9mIGFuIGFwcGxpY2F0aW9uIHNvbGVseSBmb3IgY2FzZXMgdGhhdCBhcmU6ZGQCDQ8PFgIfAAUhQWxsb2NhdGVkIHRvIGEganVkaWNpYWwgZm9ybWF0aW9uZGQCDw8PFgIfAAUNTm90IGFub255bW91c2RkAhEPDxYCHwAFS1BlbmRpbmcgYmVmb3JlIHRoZSBDb3VydCBvciBoYXZlIGJlZW4gZGlzcG9zZWQgb2Ygd2l0aGluIHRoZSBsYXN0IHR3byB5ZWFyc2RkAhMPDxYCHwAFpgJJZiB0aGUgYXBwbGljYXRpb24geW91IGFyZSBsb29raW5nIGZvciBkb2VzIG5vdCBtZWV0IHRoZSBhYm92ZSBjcml0ZXJpYSB0aGUgZm9sbG93aW5nIG1lc3NhZ2Ugd2lsbCBhcHBlYXI6IOKAnE5vIGluZm9ybWF0aW9uIGNhbiBiZSBnaXZlbiBmb3IgdGhpcyBhcHBsaWNhdGlvbi7igJ0gUGxlYXNlIG5vdGUgdGhhdCB0aGUgaW5mb3JtYXRpb24gcmVsYXRpbmcgdG8gdGhlIFNPUCBpcyBhdmFpbGFibGUgdHdvIG1vbnRocyBhZnRlciBhIGNoYW5nZSBpbiB0aGUgc3RhdGUgb2YgcHJvY2VlZGluZ3MgZm9yIGEgY2FzZS5kZAIDD2QWEgIBDw8WAh8ABQRCYWNrZGQCAw8PFgIfAAUSQXBwbGljYXRpb24gbnVtYmVyZGQCBw8PFgIfAAURQXBwbGljYXRpb24gdGl0bGVkZAILDw8WAh8ABRZEYXRlIG9mIEludHJvZHVjdGlvbg0KZGQCDw8PFgIfAAUYTmFtZSBvZiByZXByZXNlbnRhdGl2ZQ0KZGQCEw8PFgIfAAUeQ3VycmVudCBzdGF0ZSBvZiBwcm9jZWVkaW5ncw0KZGQCFw8PFgIfAAUSTGFzdCBtYWpvciBldmVudA0KZGQCHQ8PFgIfAAUWTGlzdCBvZiBtYWpvciBldmVudHMNCmRkAh8PPCsAEQIBEBYCZgIBFgI8KwAFAQAWAh4KSGVhZGVyVGV4dAUNRGVzY3JpcHRpb24NCjwrAAUBABYCHwIFDEV2ZW50IGRhdGUNChYCZmYMFCsAAGQYAQUGZ3ZMTUVTD2dkztYVyFhsEL2tNiofrfNIZdaqsGBRuQyeexgzV3wLtAc=" />
  58. </div>
  59.  
  60. <script type="text/javascript">
  61. //<![CDATA[
  62. var theForm = document.forms['form1'];
  63. if (!theForm) {
  64.    theForm = document.form1;
  65. }
  66. function __doPostBack(eventTarget, eventArgument) {
  67.    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
  68.        theForm.__EVENTTARGET.value = eventTarget;
  69.        theForm.__EVENTARGUMENT.value = eventArgument;
  70.        theForm.submit();
  71.    }
  72. }
  73. //]]>
  74.  
  75.  
  76. <script src="/SOP/WebResource.axd?d=jX15bJgrJ_AQCuTUruirEr3I3b4RcchybQh_LlHi9b9dh6lZl9tZwDlwHqx5UqQNH9RvrsHZ9RjDw9EcAyiTqs3jTGf-J0w8mMD_UPPqKjA1&amp;t=635793099671809273" type="text/javascript"></script>
  77.  
  78.  
  79. <script src="/SOP/WebResource.axd?d=9iE7u--KcvG5D9DC7gguKyWWceHPRb9ew2t8GQtM8pha29TpLJZQ_AUjr6wR5bNYC6wYGGqSH0lYsbTmXg7s4_x9--qDLLKS_wi08TadvVk1&amp;t=635793099671809273" type="text/javascript"></script>
  80. <div>
  81.  
  82.         <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="54BB3970" />
  83.         <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
  84.         <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
  85.         <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEdAASCizyJhlhd6knDuY4QNQlbatUjpvtyhUoGODrBzJzPAKLcDRVuCbay81zOIpB5+7B13HaNCmKPXwtSIMJvlpwqAOnkxI+pox26HpPEeetStpi0sDt7LEB7neYS4iEFkf4=" />
  86. </div>
  87.                    
  88.                          <div class="SOPPageContentCenter">
  89.                             <div id="SearchPanel" style="font-weight:bold;">
  90.        
  91.                                  <br />
  92.                                  <br />
  93.                                 <center>
  94.                                     <span id="Label1" class="SOPTextHead">Please enter Application number:</span>
  95.                                     <input name="tbregno" type="text" id="tbregno" class="SOPInput" />
  96.                                     <input type="submit" name="btngetdoc" value="Submit" id="btngetdoc" class="btn btn-primary" />
  97.                                     <input type="submit" name="btnClear" value="Clear" id="btnClear" class="btn btn-default" />
  98.                                 </center>
  99.                                 <br />
  100.                                
  101.                                 <br />
  102.                                 <div class="SOPHighlight" >
  103.                                      <span id="LabelIntro1">The Court’s State of Proceedings (SOP) search engine enables parties to find out the current procedural state of an application solely for cases that are:</span>
  104.                                    
  105.                                     <ul>
  106.                                         <li><span id="LabelIntro2">Allocated to a judicial formation</span></li>
  107.                                         <li><span id="LabelIntro3">Not anonymous</span></li>
  108.                                         <li><span id="LabelIntro4">Pending before the Court or have been disposed of within the last two years</span></li>
  109.                                     </ul>
  110.                                     <span id="LabelIntro5">If the application you are looking for does not meet the above criteria the following message will appear: “No information can be given for this application.” Please note that the information relating to the SOP is available two months after a change in the state of proceedings for a case.</span>
  111.                                 </div>
  112.                            
  113. </div>
  114.                         </div>
  115.                          
  116.  
  117.                            
  118.  
  119.                        
  120.                    
  121.  
  122. <script type="text/javascript">
  123. //<![CDATA[
  124. WebForm_AutoFocus('tbregno');//]]>
  125. </form>
  126.                
  127.             </div>
  128.  
  129.             <div class="EchrPageFooter" id="FooterPage">
  130.  
  131.            
  132.  
  133.             </div>
  134.         </div>
  135.  
  136.     </body>
  137. </html>
« Последнее редактирование: 14 Октябрь 2017, 01:12:04 от Azure »
Ubuntu 16.04.2 LTS х64; GeForce GT 540M; Intel(R) Core(TM) i5-2410M CPU @ 2.30GHz

 

Страница сгенерирована за 0.223 секунд. Запросов: 23.