python
  • scrapy
  • 2016-06-08 8 views 2 likes 
    2

    와 자바 스크립트 게시 매개 변수를 얻기 나는 다음과 같은 요소가 있습니다scrapy

    <a class="html-attribute-value html-external-link" target="_blank" href='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ResultsGrid$15", "", false, "", "webproperty.aspx?s=id&amp;s=15&amp;time=201606080118012&amp", false, true))'>javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&amp;quot;ucResultsGrid$R000000015&amp;quot;, &amp;quot;&amp;quot;, false, &amp;quot;&amp;quot;, &amp;quot;webprop.aspx?s=id&amp;amp;sr=15&amp;amp;time=201606080118012&amp;amp;id=15&amp;quot;, false, true))</a> 
    

    내가 링크를 클릭에 의해 생성 된 요청을 재구성하려고 자바 스크립트 매개 변수를 싶어합니다. 나는 그것을 발견했다 :

    response.selector.xpath('//*[@id="ResultsGrid$15"]/@href').extract() 
    
    Out[20]: [u'javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ResultsGrid$15", "", false, "", "webproperty.aspx?s=id&sdata=15&time=201606080037034&id=15", false, true))'] 
    

    이것은 좋게 보이고 javascript 매개 변수를 해독한다. 거기에서 그들을 어떻게 붙잡을 수 있습니까? 나는 꽤 넓은 .*? 사용하고

    다음
    response.selector.xpath('//*[@id="ResultsGrid$15"]/@href').re(r'javascript:WebForm_DoPostBackWithOptions\(new WebForm_PostBackOptions\("(.*?)", "(.*?)", (.*?), "(.*?)", "(.*?)", (.*?), (.*?)\)\)') 
    

    - 모든 문자에 대해 여러 번 비 욕심 경기,하지만 당신은 할 수 있습니다 :

    답변

    3

    당신은 re() method 여러 캡처 그룹을 통해 그것을 할 수 있습니다 어떤 매개 변수에서 일치시킬 문자가 더 엄격한 지 확인하십시오.

    +0

    대단히 감사합니다! – user61629

    관련 문제