Вы хотите
title_to_save = j.xpath('./text()').get()
href_to_save= j.xpath('./@href').get()
Обратите внимание на точку перед путем (я использую get
вместо extract_first
из-за this ).
Навыведите csv, возможно, вы в курсе, но вам, вероятно, следует yield
информацию, которую вы хотите записать, а затем запустить свой паук, используя опцию -o data_information/link.csv
, которая немного более гибкая, чем открытие файла для добавления в ваш метод parse
,Таким образом, ваш код будет выглядеть примерно так:
class LinkSpider(scrapy.Spider):
name = "link"
# No need for start_requests for as this is the default anyway
start_urls = ["https://bloomberg.com"]
def parse(self, response):
for j in response.xpath('//a'):
title_to_save = j.xpath('./text()').get()
href_to_save= j.xpath('./@href').get()
print("test")
print(title_to_save)
print(href_to_save)
yield {'title': title_to_save}