2012-11-08 3 views
0

나는 치료 프레임 워크를 처음 사용합니다. 그들은 다양한 재료에 대해 배웠던 위대한 문서를 가지고 있습니다. 나는 깊이있는 레벨 3까지 다양한 교육 웹 사이트를 말리려고 노력하고 있는데, 각 웹 사이트에서 cse 부서 (해당 페이지에서 긁힌 링크의 단어 또는 컴퓨터를 찾으려고 노력)를 찾습니다. 웹 사이트에 cse 부서가 있으면 링크 또는 URL은 .csv 파일에 저장됩니다. 여기 내 코드는 지금까지의 :치료법을 사용하여 다양한 웹 사이트를 크롤링하고 특정 단어를 찾으십시오.

from scrapy.spider import BaseSpider 
from scrapy.selector import HtmlXPathSelector 

from dirbot.items import Website 


class DmozSpider(BaseSpider): 
    name = "dmoz" 
    allowed_domains = ["dmoz.org"] 
    start_urls = [ 
     "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/", 
     "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/", 
    ] 

    def parse(self, response): 
     hxs = HtmlXPathSelector(response) 
     sites = hxs.select('//ul/li') 
     items = [] 

     for site in sites: 
      item = Website() 
      item['name'] = site.select('a/text()').extract() 
      item['url'] = site.select('a/@href').extract() 
      item['description'] = site.select('text()').extract() 
      items.append(item) 

     return items 

문제는 다음과 같습니다 allowed_domains에서 나는 .CSV 파일에 저장되어있는 1000 개 이상의 웹 사이트를 크롤링 할. CSV 파일을 가져 와서 각 URL을 반복하고 싶습니다. 어떻게해야합니까? cs 부서가있는 경우 해당 링크는 csv 파일로 작성되어야합니다. 각 웹 사이트에서 cse 부서 (해당 페이지에서 긁힌 링크의 단어 목록 또는 cse 또는 컴퓨터를 찾으려고합니다)를 찾기 위해 XPath를 수정하고 조건을 적용하려면 어떻게해야합니까? (링크에 CSE 부서가 해당 링크를 파일로 작성한 경우 그렇지 않으면 그렇지 않습니다.) 마지막으로 어떻게 치료의 깊이를 지정합니까? 감사합니다. 또한 파일에서 단어 검색 기술을 정의하고이를 치료에 사용할 수 있습니까?

답변

0

'start_urls'는 목록 일뿐입니다. init를 오버라이드하고, csv를 읽고, 목록을 작성하십시오.

+0

허용되는 도메인은 무엇입니까? inbuild 키워드입니까? – sachitad

+0

도메인이 허용/의도/제한된 코스 목록을 크롤링합니다. 모두 허용하려면 밖으로 나가십시오. –

관련 문제