我試圖瞭解Scrapy是如何工作的,但無法弄清楚如何使它抓取。不能使scrapy抓取
,我要抓取的網站有一個網頁http://www.example.com/Jason包含格式http://www.example.com/Jason:Aron,鏈接http://www.example.com/Jason:Dan_De等
我設法爬像http://www.example.com/Jason:Aron一個頁面上的文本,但我不能讓它啓動從http://www.example.com/Jason並抓取所有鏈接在那裏的頁面。
這是我的蜘蛛:
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import Selector
from tutorial.items import Item
class Spider(CrawlSpider):
name = "text"
allowed_domains = ["example.com"]
start_urls = [
"http://www.example.com/Jason",
"http://www.example.com/Jason:Aron",
]
rules = (Rule (SgmlLinkExtractor(allow=('Jason:*')), callback='parse'),)
def parse(self, response):
sel = Selector(response)
sites = sel.xpath('//div[@class="textbox"]')
items = []
for site in sites:
item = Item()
item['text'] = site.xpath('text()').extract()
items.append(item)
return items
任何建議表示讚賞。
注意'Jason:*'是一個正則表達式(匹配'Jason','Jason:','Jason ::',...)。這是你的意思嗎? – kev