Scrapy与列表对象中的多个url

时间:2014-11-15 16:13:50

标签: python scrapy

我是python中的大三学生。我对蜘蛛有一些疑问。 我已经捕获了一些URL并且我放入了我的列表对象,然后我想使用URL再次进行Scrapy,是否可能动态更改URL并继续进行Scrapy。或者有人可以给我一个关于“Scrapy”的想法,非常感谢。

 'def parse(self,response):

    sel=Selector(response)
    sites=sel.xpath('//tr/td/span[@class="artist-lists"]')
    items = []

    for site in sites:
        item=Website()
        title=site.xpath('a/text()').extract()
        link=site.xpath('a/@href').extract()
        desc=site.xpath('text()').extract()

        item['title']=title[0].encode('big5')
        item['link']= link[0]
        self.get_userLink(item['link'])
        item['desc']=desc
    #   items.append(item)
    #return items



def get_userLink(self,link):

    #start_urls=[link]

    self.parse(link)
    sel=Selector(link)
    sites=sel.xpath('//table/tr/td/b')
    print sites
    #for site in sites:
        #print site.xpath('a/@href').extract() + "\n" 
        #print site.xpath('a/text()').extract()+ "\n"`

1 个答案:

答案 0 :(得分:0)

您可以使用解析网址的yield request来调用其他功能。

def parse(self, response):

    hxs = HtmlXPathSelector(response)
    url=  sel.xpath('//..../@href').extract()


    if url:

检查网址是否正确。

    yield Request(url, callback=self.parse_sub)

def parse_sub(self, response):

    ** Some Scrape operation here **