解:scrapyのコールバック関数、parseの中でまず現在のページのリストの中のすべての項目を遍歴して、このページは終わって次のページにジャンプして、しかし実行の結果は私が第1ページの登り取りの結果しか得られませんでした
1310 ワード
def parse(self, response):
# print(response.text)
uri = 'https://www.liepin.com'
h3List = response.css('h3')
print(len(h3List))
del h3List[len(h3List) - 3:len(h3List)]
print(len(h3List))
# # test
# url = h3List[1].css('a::attr("href")').extract_first()
# job_url = str(url)
# url
for index, h3 in enumerate(h3List):
url = h3.css('a::attr("href")').extract_first()
job_url = str(url)
if 'https://www.liepin.com' not in str(url):
job_url = 'https://www.liepin.com' + str(url)
# job_url url
# request
print(index)
print(job_url)
yield scrapy.Request(job_url, callback=self.get_job_info)
# ,
a_selector_list = response.css('.pagerbar a::attr("href")').re('.*? のページ')
next = uri+str(a_selector_list)
print('*****/*/*/*/*/*/*/*/*/*/* ')
yield scrapy.Request(next, callback=self.parse)
1つのリストページ:中には複数の項目があり、各項目をクリックすると詳細ページになります.リストページの下に次のページがあります.このページのすべての項目が這い出し終わったので、「次のページ」、yield scrapy.Request(next,callback=self.parse)を続けたいのですが、このステップは実行できません.