1
나는 scrapy에 새로 온 사람이 나의 두 번째 거미입니다 :URL을 치료하기 전에 수정하는 방법은 무엇입니까?
내 문제가 가끔http://sitename.com/path1/path2/?param1=value1¶m2=value2
같은 날에 대한 링크를 가지고있다
class SitenameScrapy(scrapy.Spider):
name = "sitename"
allowed_domains = ['www.sitename.com', 'sitename.com']
rules = [Rule(LinkExtractor(unique=True), follow=True)]
def start_requests(self):
urls = ['http://www.sitename.com/']
for url in urls:
yield scrapy.Request(url=url, callback=self.parse_cat)
def parse_cat(self, response):
links = LinkExtractor().extract_links(response)
for link in links:
if ('/category/' in link.url):
yield response.follow(link, self.parse_cat)
if ('/product/' in link.url):
yield response.follow(link, self.parse_prod)
def parse_prod(self, response):
pass
이 PARAM1 중요하지 내가 response.follow
전에 URL에서 제거 할 . 나는 regex
으로 그것을 할 수 있다고 생각하지만 그것이 치료를위한 '올바른 방법'이라고 확신하지 못합니까? 어쩌면이 일에 대해 어떤 종류의 규칙을 사용해야합니까?
그냥, 다른 방법으로 주위를 추가 할 다른 모든 떠나 쿼리 문자열에서 제거 할 매개 변수를 지정하는'URL = url_query_cleaner (link.url ('PARAM1을') = 진정한 제거) '. –