Итак, я новичок в области терапии, и я прихожу к проблеме, где (я считаю) исходный URL-адрес неверен.Scrapy Start_URL не соответствует
Затем нажмите на ссылку, чтобы загрузить в описание лагеря
Однако, когда я использую этот начальный URL оно не нагрузки. Значение. Эта процедура открывается и загружает telnet, но никогда не будет подключаться. Когда я использую http://www.w3.org/1999/xhtml (который я получаю из верхней строки в проверке (хром), он ползает, но кажется, что это совершенно неправильный сайт. (Я получил эту ссылку с верхней части страницы проверки).
и где это ДОЛЖНО начать , то URL является:?! http://www.kidscamps.com/camps/california-overnight-camps-page0.html
Любые идеи и Спасибо заранее к сожалению обо всех закомментирована
Так что я предполагаю, что мой главный вопрос, как я могу найти правильный URL, чтобы начать с, так как все мои другие скрипты работают правильно.
Также не работает wi правил.
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
from scrapy.selector import Selector
from kidscamp_com.items import KidscampComItem
import html2text
class MySpider(CrawlSpider):
name = "kids"
#allowed_domains = "http://www.bayareaparent.com/Camp-Guide/index.php/cp/1/si/0/"
start_urls = ['http://www.kidscamps.com/residential/overnight_camp.html'
]
rules = (
Rule(LinkExtractor(allow=(), restrict_xpaths=('//*[@id="results-wrapper"]/div[1]/p[1]/a',)), callback="parse1", follow=True),
)
def parse1(self, response):
hxs = Selector(response)
body = hxs.xpath('//*[@id="body-wrapper"]')
items = []
for body in body:
item = KidscampComItem()
# item["camp_name"] = body.xpath('').extract()
# item["location"] = body.xpath('').extract()
item["phone"] = body.xpath('//a[@class="phone"]//text()').extract()
item["website"] = body.xpath('//*[@id="results-wrapper"]/div[1]/div/div[2]/ul[2]/li[2]/a').extract()
# item["email"] = body.xpath('').extract()
item["description"] = body.xpath('//*[@id="info-page"]/div[2]/div//text()').extract()
item["camp_size"] = body.xpath('//*[@id="info-page"]/div[2]/div/ul[1]/li[1]/dd').extract()
item["founded"] = body.xpath('//*[@id="info-page"]/div[2]/div/ul[1]/li[2]/dd').extract()
item["gender"] = body.xpath('//*[@id="info-page"]/div[2]/div/ul[1]/li[3]/dd').extract()
item["maximum_age"] = body.xpath('//*[@id="info-page"]/div[2]/div/ul[2]/li[1]/dd').extract()
item["minimum_age"] = body.xpath('//*[@id="info-page"]/div[2]/div/ul[2]/li[2]/dd').extract()
item["nearest_city"] = body.xpath('//*[@id="info-page"]/div[2]/div/ul[2]/li[3]/dd').extract()
items.append(item)
return items
Отъезд robots.txt, который должен позволять сканировать большую часть своего сайта. Однако, прочитав в источнике немного больше, я заметил эту строку:
это означает, что даже если его не включен /robots.txt, он все еще не считается допустимым? Я даже пробовал, не слушая роботов (чтобы убедиться, что что-то изменилось), и ничего не произошло. Но если кто-то знает этот ответ, это будет круто.
UPDATE
Найдено, что, когда я изменил: start_urls на START_URL это работает. Вещь, которая странна в этом, заключается в том, что я использовал start_urls для своих других пауков, и он работает независимо от (и). Удивительно, почему здесь что-то меняется.
Я использую start_urls на линии 10. Это то, что вы ссылку? Другое дело, что когда я перехожу от start_urls к _url, он на самом деле сканирует. Однако в любой другой раз, когда я использовал start_urls, он работает так, как ожидалось. Я пропустил allow_urls, который мог бы ввести в заблуждение. –