Почему правильный XPath код не работает в БАСе?



  • @fox Вы это через просмотр http трафика увидели? Я ей не пользуюсь, почему-то после нажатия на эту кнопку у меня хром думает секунд 20 прежде чем показать пришедшую страницу в браузере. Не знаете как исправить? Других проблем с браузером нет, все открывается за секунду.


  • administrators

    @senerg

    Вы это через просмотр http трафика увидели? Я ей не пользуюсь, почему-то после нажатия на эту кнопку у меня хром думает секунд 20 прежде чем показать пришедшую страницу в браузере. Не знаете как исправить? Других проблем с браузером нет, все открывается за секунду.

    В коде страницы есть скрипты, которые браузер начинает выполнять, и не все скрипты он может выполнить сразу, отсюда и задержка. Firefox кстати открывает страницу сразу.



  • @fox Да, но можно ли бас заставить открывать в Firefox не меняя основной браузер?


  • administrators

    @senerg Думаю нет. Открывается в основном браузере. Но ни кто не мешает скопировать ссылку на файл и открыть в другом браузере сразу.



  • @fox said in Почему правильный XPath код не работает в БАСе?:

    Значит этот текст заполняет какой нибудь скрипт, или дополнительный запрос

    Нашел запрос:

    GET https://my.aliexpress.com/wishlist/wishlist_item_count.htm?itemtype=product&itemid=32808065488&_csrf_token_=151le2xir9o00&_=1541702377993 HTTP/1.1
    Host: my.aliexpress.com
    Connection: keep-alive
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36
    DNT: 1
    Accept: */*
    Referer: https://www.aliexpress.com/item/USLION-Phone-Case-For-iPhone-7-6-6s-Plus-5-5s-SE-Simple-Solid-Color-Ultrathin/32808065488.html
    Accept-Encoding: gzip, deflate, br
    Accept-Language: ru,en-US;q=0.9,en;q=0.8
    Cookie: ali_apache_id=11.139.3.86.1541702331484.208968.4; xman_t=xM//himR3juCqLQxRx10KFURwCqHcmNEDK5Z0UWlWbvOz9lfhDgFRnT9I023i42W; xman_f=DqowFAxV7UcZFp+GVyT+wzR8HPu1XNkDL8Cgxx7CilIy91fnhiilAKs3g0uXiMiq/WsHUETDsuIl2vFevWgHhFZqFQvuJHYZovRwb/VLNgQbHdbw/AGL4w==; AKA_A2=A; _ga=GA1.2.1958370003.1541702334; _gid=GA1.2.491123276.1541702334; _ym_uid=1541702334641712455; _ym_d=1541702334; acs_usuc_t=acs_rt=eb19edc6b52f4c3c95c7f798577acff4&x_csrf=151le2xir9o00; aep_history=keywords%5E%0Akeywords%09%0A%0Aproduct_selloffer%5E%0Aproduct_selloffer%0932808065488; _gat=1; _ym_visorc_29739640=b; _ym_isad=2; cna=vHBrFGjWn3ICAU3eYEYPYcF2; JSESSIONID=015B422F71642D7FCC04EDE00DA1FF7F; _fbp=fb.1.1541702334849.2103477419; xman_us_f=x_locale=en_US&x_l=0; intl_locale=en_US; _m_h5_tk=0ec8132e8a06b38e8f97b86b8e7a152b_1541704856808; _m_h5_tk_enc=5717716f02d89fbd60d3466d3ec9ad55; aep_usuc_f=site=glo&c_tp=USD&region=US&b_locale=en_US; intl_common_forever=0T31Cg1NdIVjKwqtKJMfZV7MXQnyibx/9TrGZhPNRSAe0NPvzDXAHQ==; RT="sl=2&ss=1541702337374&tt=3873&obo=0&sh=1541702344933%3D2%3A0%3A3873%2C1541702339449%3D1%3A0%3A2070&dm=aliexpress.com&si=c4e041ae-bfa1-40e2-8841-297c17897f45&se=900&bcn=%2F%2F364bf6be.akstat.io%2F"; isg=BGZmyEsJARUuEtWxAsEQIQcVt9wo76plTYc19lAPUglk0wbtuNf6EUylL5d6-6IZ; ali_apache_track=; ali_apache_tracktmp=
    

    В ответ приходит:

    HTTP/1.1 200 OK
    Content-Type: application/javascript;charset=utf-8
    Vary: Accept-Encoding
    P3P: CP="CAO PSA OUR"
    Content-Language: en-US
    Content-Security-Policy-Report-Only: default-src * 'unsafe-eval' 'unsafe-inline'  data:;report-uri //pointman.alibaba.com/csp?app=ae_default
    Server: Tengine/Aserver
    Strict-Transport-Security: max-age=31536000
    Timing-Allow-Origin: *
    Content-Length: 31
    Date: Thu, 08 Nov 2018 18:39:36 GMT
    Connection: keep-alive
    Set-Cookie: JSESSIONID=7A5E506F39108A7E535BA222B260B1DE; Path=/; HttpOnly
    Set-Cookie: ali_apache_track=; Domain=.aliexpress.com; Expires=Tue, 26-Nov-2086 21:53:43 GMT; Path=/
    Set-Cookie: ali_apache_tracktmp=; Domain=.aliexpress.com; Path=/
    
    window.collectNum={"num":87291}
    

    Если повторить этот гет запрос в таком виде без неизвестных мне параметров:

    https://my.aliexpress.com/wishlist/wishlist_item_count.htm?itemtype=product&itemid=32808065488
    

    То приходит та же строчка с нужным числом:

    window.collectNum={"num":87291}
    

    Я правильно понимаю, что не имеет смысла указывать эти дополнительные параметры, или здесь есть какие-то нюансы?


  • administrators

    @senerg

    Я правильно понимаю, что не имеет смысла указывать эти дополнительные параметры, или здесь есть какие-то нюансы?

    Понятия не имею :D



  • @senerg
    В Вашем случае недостаточно данных, чтобы говорить о том, что xpath не работает. Вы увидели данные в браузере, а парсите их в http-клиенте bas. Они могут отличаться. Ведь данные вы парсите из содержимого ответа сервера, а не браузера.
    Чтобы однозначно проверить это - сохраните содержание ответа сервера и проверьте в нем наличие нужных Вам данных.
    После этого можно будет говорить о правильности работы xpath.



  • @xclsv Я же этого не знал раньше. Думал, что запрос http клиента аналогичен запросу браузера. Теперь все понятно.


  • administrators

    @senerg

    Думал, что запрос http клиента аналогичен запросу браузера

    Возможно вы имели ввиду другое, но всё же. Запросы браузера и http-клиента одинаковые, разница лишь в том, что в браузере выполняются скрипты, устанавливаются куки и заголовки, формируются токены и т.п. А в http-клиенте большинство работы приходится выполнять самому.



  • @fox said in Почему правильный XPath код не работает в БАСе?:

    А в http-клиенте большинство работы приходится выполнять самому

    Как я понял, большинство работы делать не нужно. Делать нужно только то, что позволяет получить нужные данные.

    @fox said in Почему правильный XPath код не работает в БАСе?:

    формируются токены

    Что это такое, их я еще не видел.