У меня очень мало опыта программирования с python больше с Java.Scrapy Python - Как пропустить URL-адрес и получить URL-адрес для скрепок
Я пытаюсь войти в python и проблемы с пониманием сканирующего веб-искателя, который я пытаюсь настроить.
Сценарий скрежет продукты и т. Д. С сайта и помещает их в файл и рекурсивно проходит через все десантные домены внутри сайта, но останавливается на заданной глубине.
У меня возникли проблемы с пониманием того, как я могу передать URL-адрес, выведенный в скрипте, на пример scrapy, который я нашел.
код, который выполняет свой паук:
Scrappy Код здесь --------------------------------
process = CrawlerProcess({
'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)'
})
process.crawl(UrlScrappyRunner, domain="www.google.com")
process.start()
мой паук:
class UrlScrappyRunner(scrapy.Spider):
name = "quotes"
def start_requests(self):
urls = [
'http://quotes.toscrape.com/page/1/',
'http://quotes.toscrape.com/page/2/',
]
for url in urls:
yield scrapy.Request(url=url, callback=self.parse)
def parse(self, response):
page = response.url.split("/")[-2]
filename = 'quotes-%s.html' % page
with open(filename, 'wb') as f:
f.write(response.body)
self.log('Saved file %s' % filename)
Пожалуйста, вы можете, дайте мне знать, как передать домен = www.google.com на мой паук так ползает Google, а не quotes.toscrape.com?
спасибо за это. Но проблема в том, что я запускаю его в сценарии, а не в командной строке, поэтому с помощью этого process.crawl (UrlScrappyRunner, domain = "www.google.com") – Sam
@Raj, все одинаково. взгляните на обновленный ответ. вы можете пройти, как этот process.crawl (UrlScrappyRunner, domain = "www.google.com") – Backtrack
@Raj. Одно дело, что вы должны это сделать, __init__ ничего, кроме конструктора. В котором вы должны получить аргументы и назначить свои переменные – Backtrack