есть ли способ справиться, когда href = '#' в scrapy? - PullRequest
1 голос
/ 03 марта 2020

, работая над очисткой всего контента с веб-сайта, называемого timesjob, я не смог получить доступ к следующим страницам веб-сайта, поскольку href в классе нации страницы отображается как href = '#' , здесь я не смог получить доступ к таким гиперссылкам. Так что я не могу собрать данные со всех страниц, есть ли какой-нибудь способ доступа для решения проблемы получения точной гиперссылки, если так, пожалуйста, ответьте. Спасибо. ссылка, по которой я пытался получить доступ, была https://www.timesjobs.com/candidate/job-search.html?searchType=personalizedSearch&from=submit&txtKeywords=python&txtLocation=bangalore

Ответы [ 2 ]

1 голос
/ 05 марта 2020

Стоит отметить, что вы также можете играть с размером результата. Мне повезло, получив 1000 на одной странице здесь. Это, вероятно, вам очень поможет. Я пробовал 3400, и вам не удалось поэкспериментировать, чтобы выяснить ограничения. В любом случае это должно сделать эту задачу намного проще для вас.

https://www.timesjobs.com/candidate/job-search.html?from=submit&actualTxtKeywords=python&searchBy=0&rdoOperator=OR&searchType=personalizedSearch&txtLocation=bangalore&luceneResultSize=1000&postWeek=60&txtKeywords=python&pDate=I&sequence=2&startPage=1

Это не решает проблему перехода к #, но решает проблему очищать все результаты. Также обратите внимание, что стартовая страница всегда остается на 1, и они используют переменную последовательности для разбивки на страницы.

start_urls = ['https://www.timesjobs.com/candidate/job-search.html?from=submit&actualTxtKeywords=python&searchBy=0&rdoOperator=OR&searchType=personalizedSearch&txtLocation=bangalore&luceneResultSize=1000&postWeek=60&txtKeywords=python&pDate=I&sequence={}&startPage=1']

def start_requests(self):
    for i in range(1, 4):
        yield scrapy.Request(self.start_urls[0].format(i), callback=self.parse)
1 голос
/ 03 марта 2020

Вам нужно немного отладить то, что делается во время запроса нумерации страниц. Сайт не хранит ссылки для следующей страницы, потому что это динамический c URL, который генерируется во время выполнения. Я проверил его на page 7, и это ссылка, которая была создана

https://www.timesjobs.com/candidate/job-search.html?from=submit&actualTxtKeywords=python&searchBy=0&rdoOperator=OR&searchType=personalizedSearch&txtLocation=bangalore&luceneResultSize=25&postWeek=60&txtKeywords=python&pDate=I&sequence=7&startPage=1

Находясь на главной странице, вам нужно определить общее количество страниц, которые есть в источнике страниц, а затем сгенерировать их список. запросы и ударил их. Вы также получите все данные из нумерации страниц

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...