Я изучаю скрап и пытаюсь использовать его для очистки страницы ниже Википедии:
https://en.wikipedia.org/wiki/List_of_sovereign_states_in_the_2020s
Я хотел бы скрести каждую страну и гиперссылка, прикрепленная к этой стране и ниже, является моим кодом на данный момент:
import scrapy
class CountrypopSpider(scrapy.Spider):
name = 'countryPop'
allowed_domains = ['en.wikipedia.org']
start_urls = ['https://en.wikipedia.org/wiki/List_of_sovereign_states_in_the_2020s']
def parse(self, response):
countries = response.xpath('//table//b//@title').extract()
for country in countries:
country_url = response.xpath('//table//b[contains(@href, 'Afghanistan')]').extract()
yield {'countries': country}
В настоящее время он получает все страны из основной таблицы, а затем я хочу, чтобы через каждую из них я получил l oop. страны, используя название страны, чтобы получить URL. У меня возникли проблемы, хотя при поиске способа использования URL-адреса страны для поиска URL-адреса моя последняя попытка была выполнена с использованием метода contains ().
Буду благодарен за любые другие комментарии по поводу моего кода очистки.
Спасибо