# -*- coding: utf-8 -*-
__author__ = 'onecue'
import scrapy
from community.items import CommunityItem
from datetime import datetime
import re
class CommunitySpider(scrapy.Spider):
name = "communityCrawler"
start_urls = []
def start_requests(self):
for i in range(1, 2, 1):
yield scrapy.Request("http://www.clien.net/cs2/bbs/board.php?bo_table=park&page=%d" % i, self.parse_clien)
yield scrapy.Request("http://www.bobaedream.co.kr/list?code=freeb&page=%d" % i, self.parse_bobae)
def parse_clien(self, response):
for sel in response.xpath('//tbody/tr[@class="mytr"]'):
item = CommunityItem()
item['Title'] = sel.xpath('td[@class="post_subject"]/a/text()').extract()[0]
dateTmp = datetime.strptime(sel.xpath('td/span/@title').extract()[0], "%Y-%m-%d %H:%M:%S")
td = sel.xpath('td')
item['Description'] = dateTmp.strftime("%Y-%m-%d %H:%M:%S")
yield item
def parse_bobae(self, response):
for sel in response.xpath('//tbody/tr[@itemtype="http://schema.org/Article"]'):
item = CommunityItem()
date_now = datetime.now()
date_str_tmp = sel.xpath('td[@class="date"]/text()').extract()[0]
prog = re.compile('[0-9]{2}:[0-9]{2}')
if prog.match(date_str_tmp):
date_str = date_now.strftime('%y/%m/%d') +' ' + date_str_tmp + ':00'
else:
date_str = date_now.strftime('%y/') + date_str_tmp +' ' + '00:00:00'
dateTmp = datetime.strptime(date_str,"%y/%m/%d %H:%M:%S")
item['Title'] = sel.xpath('td[@class="pl14"]/a/text()').extract()[0]
item['Description'] = dateTmp.strftime("%Y-%m-%d %H:%M:%S")
yield item
Я создал обходного гусеничного сообщества, но он просто просматривает страницу по правилам, которые я сделал. Я хочу сделать сканер, который сканирует весь веб-сайт, как веб-паук Google. Как я могу это сделать?Как просканировать весь сайт по scrapy
читать документацию. Вся необходимая информация - например [CrawlSpider] (http://doc.scrapy.org/en/latest/topics/spiders.html#crawlspider) или [LinkExtractor] (http://doc.scrapy.org/en/ последние/темы/link-extractors.html). – furas