2017-02-07 6 views
1

Я новичок в Scrapy, Python. Мне нужно извлечь название URL-адресов, а не контекст. Нижеприведенный код извлекает содержимое вместе с заголовком. Помощь по указанному вышеизвлекать название url используя scrapy, python

Благодарим вас заблаговременно.

class BlogSpider(scrapy.Spider): 
     name = 'bg' 
     start_urls = ['https://blog.scrapinghub.com', 'https://scrapinghub.com/'] 

    def parse(self, response): 
     for title in response.css('h2.entry-title'): 
      yield {'title': title.css('a ::text').extract_first()} 

     page = response.url.split("/")[-2] 
     filename = 'urltitle-%s.html' %page 
     with open(filename,'wb') as f: 
      f.write(response.body) 

ответ

0

Не уверен, если я правильно понимаю, что вы имеете в виду под «названием», но если вам нужно извлечь title атрибут тега a вы можете извлечь его с помощью соответствующего переключателя title.css('a::attr(title)')

+0

Вы правы и спасибо много mizhgun. Также я попытался использовать beautifulsoup для извлечения, и я хочу поделиться им soup = BeautifulSoup (response.text, 'lxml') yield { "title": soup.title.string} – Niveram