Имея следующего паука:
import scrapy
from final.items import FinalItem
class ScrapeMovies(scrapy.Spider):
name='final'
start_urls = [
'https://www.trekearth.com/members/page1.htm?sort_by=md'
]
def parse(self, response):
for row in response.xpath('//table[@class="member-table"]//tr[position() > 1]'):
item = FinalItem()
item['name'] = row.xpath('./td[2]//a/text()').extract_first()
website = row.xpath('./td[2]//a/@href/text()').extract_first()
request = scrapy.Request(website,
callback=self.parse_page2)
yield request
def parse_page2(self, response):
request.meta['item'] = item
item['travelog'] = response.xpath('string(//div[@class="statistics-btm"]/ul//li[position()=4]/a)').extract_first()
yield item
# next_page=response.xpath('//div[@class="page-nav-btm"]/ul/li[last()]/a/@href').extract_first()
# if next_page is not None:
# next_page=response.urljoin(next_page)
# yield scrapy.Request(next_page, callback=self.parse)
У меня есть таблица Я хочу вычеркнуть имя (и другую информацию) из этой таблицы, а затем перейти по ссылке на каждый изпрофиль пользователя, а затем собрать некоторые данные из этих профилей, а затем объединить их в один элемент.
Затем я хочу вернуться к главной таблице и перейти к следующей странице до конца (за это отвечает последняя часть кода, она была закомментирована для удобства).
Код, который я написал, не работает должным образом.У меня ошибка:
TypeError: Request url must be str or unicode, got NoneType:
Как это исправить?Как сделать так, чтобы правильно сканировать все данные?