스크래피와 함께 파이썬을 사용하여 여러 웹 페이지 크롤링 된 데이터를 csv 파일로 출력하는 방법

user3128771

웹 사이트에서 사용 가능한 모든 페이지를 크롤링하는 다음 코드가 있습니다. 인쇄 기능을 사용할 때 '항목'목록에서 데이터를 볼 수 있지만 '.csv'를 대상으로 사용하려고 할 때 출력이 표시되지 않기 때문에 이것은 유효한 페이지를 완벽하게 '크롤링'하는 것입니다. 통계를 덤프하는 파일. (명령 프롬프트에서이 명령 사용 :`scrapy crawl craig -o test.csv -t csv`), .. 데이터를`csv` 파일로 출력하도록 도와주세요.

from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from scrapy.exceptions import CloseSpider
from scrapy.http import Request
from test.items import CraigslistSampleItem
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor

URL = "http://example.com/subpage/%d"


class MySpider(BaseSpider):
  name = "craig"
  allowed_domains = ["xyz.com"]

  #for u in URL:
  start_urls = [URL % 1]

  def __init__(self):
        self.page_number = 1

  def parse(self, response):
      hxs = HtmlXPathSelector(response)
      titles = hxs.select("//div[@class='thumb']")
      if not titles:
            raise CloseSpider('No more pages')
      items = []
      for titles in titles:
          item = CraigslistSampleItem()
          item ["title"] = titles.select("a/@title").extract()
          item ["url"] = titles.select("a/@href").extract()
          items.append(item)
      yield items


      self.page_number += 1
      yield Request(URL % self.page_number)
eLRuLL
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from scrapy.exceptions import CloseSpider
from scrapy.http import Request
from test.items import CraigslistSampleItem
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor

URL = "http://example.com/subpage/%d"


class MySpider(BaseSpider):
  name = "craig"
  allowed_domains = ["xyz.com"]

  def start_requests(self):
      for i in range(10):
          yield Request(URL % i, callback=self.parse)

  def parse(self, response):
      titles = response.xpath("//div[@class='thumb']")
      if not titles:
            raise CloseSpider('No more pages')
      for title in titles:
          item = CraigslistSampleItem()
          item ["title"] = title.xpath("./a/@title").extract()
          item ["url"] = title.xpath("./a/@href").extract()
          yield item

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관