하나의 옵션은 Parsley DSL
parslepy 파이썬에서 the language의 구현입니다 사용하는 것입니다 (면책 조항 : 나는 parslepy 썼다), 당신은 XPath와 CSS 선택기를 사용할 수 있습니다 parslepy으로
합니다. 당신은 파이썬 dict을 다시 얻는다. 외부 파일이 규칙에 JSON 개체가 될 수
# -*- coding: utf-8 -*-
import parslepy
import scrapy
class HnSpider(scrapy.Spider):
name = "hn"
allowed_domains = ["news.ycombinator.com"]
start_urls = (
'https://news.ycombinator.com/',
)
parselet = parslepy.Parselet({
"_items(tr.athing)": [
{
"title": "td.title > a",
"source": "td.title span a",
"rank": "span.rank",
"--(./following-sibling::tr[1])":
{
"score": "span.score",
"age": "span.age",
"comments": "span.age ~ a:last-child"
}
}
]
})
def parse(self, response):
return self.parselet.parse_fromstring(
response.body).get("_items", [])
: 여기
규칙에 키가 scrapy의 출력 항목을 들고으로 콜백에서 사용되는 특별한 "_items"를 예를 들어 해커 뉴스 거미의 . 이 JSON 파일의 데이터로 스파이더의
self.parselet
객체를 초기화하면 위의 예와 같이 콜백을 유지할 수 있습니다.
따라야 할 다른 특수 키를 사용하는 경우를 상상해보십시오.