2013-12-21 2 views
0

"rss"대신 전역 변수를 추가하고 싶습니다. 그래서 나는 그것을 몇번이고 바꿀 필요가 없다. sel.select ('// a [contains (@href, "rss")]/@ href'). 다음과 같이 추출합니다. sel.select ('// a [contains (@href, url_type)]/@ href를 ') 추출()HtmlXPathSelector 함수에서 변수 추가

+0

더 줄 수 정보를? – shanks

+0

하나씩 크롤링 할 도메인 목록이 포함 된 파일을 읽으려고합니다. 나는 특정 키워드를 포함하는 링크를 찾고있다. pdf 또는 rss와 유사합니다. 나는이 키워드를 파일에서 읽을 것이다. 그래서 변수가 필요합니다. – blackmamba

답변

1

사용 str.format 변수 XPath 식에 값을 삽입 할 :. 당신이하려고하는 정확하게에 대한

sel.select('//a[contains(@href, "{0}")]/@href'.format(url_type)).extract()

+0

select에 두 개의 명령문을 추가 할 수 있습니까? 나는 이것을 시도했으나 효과가없는 것 같다. sel.select ("// a [포함 (@href,"{0} ")/@ href | // html/head/link [@ type = '응용 프로그램/{0} + xml']/@ href" . 서식 (.lt_type)). 추출() – blackmamba

+0

예, 가능합니다. 따옴표를 혼동하지 마십시오 : '// [포함 (@href, "{0}")/@ href | //html/head/link[@type="application/{0}+xml"]/@href'.format(url_type) – cybosser