0
간단한 링크를 사용하여 각 링크의 링크 목록과 데이터를 스크랩하려고하는데 문제가 있습니다.링크가 데이터를 가져 오지 못하는 경우
스크립트를 다시 만들면 새 URL을 가져 오는 요청을 보내지 만 크롤링을 실행하면 링크에서 데이터가 다시 반환되지 않습니다. 내가 얻은 유일한 데이터는 링크로 가기 전에 긁힌 시작 URL에서 가져온 것입니다.
링크에서 데이터를 긁어 내려면 어떻게해야합니까? 대신
url = response.urljoin(url)
yield scrapy.Request(url, callback=self.parse_team_info)
사용을 사용
import scrapy
class QuotesSpider(scrapy.Spider):
name = "players"
start_urls = ['http://wiki.teamliquid.net/counterstrike/Portal:Teams']
def parse(self, response):
teams = response.xpath('//*[@id="mw-content-text"]/table[1]')
for team in teams.css('span.team-template-text'):
yield{
'teamName': team.css('a::text').extract_first()
}
urls = teams.css('span.team-template-text a::attr(href)')
for url in urls:
url = response.urljoin(url)
yield scrapy.Request(url, callback=self.parse_team_info)
def parse_team_info(self, response):
yield{
'Test': response.css('span::text').extract_first()
}
항상 태그'python'을 사용 -이 코드를 강조하고 더 읽을 수 있습니다. – furas
'print()'를 사용하여 변수에 값을 표시하고 코드의 일부를 실행합니다. 문제를 찾는 데 도움이됩니다. – furas