Scrapy не может парсить сайтPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Scrapy не может парсить сайт

Сообщение Anonymous »

Я занимаюсь этим уже пару дней, но до сих пор не могу найти ответ.
Я использую Scrapy (Python), чтобы очистить эту веб-страницу.
Вот мои каталоги:

Код: Выделить всё

hotels/
|_ scrapy.cfg
|_ hotels/
|_ __init__.py
|_ items.py
|_ pipelines.py
|_ settings.py
|_ spiders/
|_ __init__.py
|_ hotels_spyder.py


Содержимое items.py

Код: Выделить всё

from scrapy.item import Item, Field

class HotelsItem(Item):
nameHotel = Field()
idHotel = Field()


Содержимое Hotels_spyder.py

Код: Выделить всё

from scrapy.spider import BaseSpider
from scrapy.selector import Selector

from hotels.items import HotelsItem

class HotelsSpider(BaseSpider):
name = "hotels"
allowed_domains = ["hotels.com"]
start_urls = ["http://fr.hotels.com/search.do?destination=New+York&arrivalDate=13%2F04%2F2015&departureDate=15%2F04%2F2015&rooms=1&children%5B0%5D=2&searchParams.rooms%5B0%5D.numberOfAdults=2&searchParams.rooms%5B0%5D.childrenAges%5B0%5D=7&searchParams.rooms%5B0%5D.childrenAges%5B1%5D=7&searchParams.landmark=&searchParams.resolvedLocation=CITY%3A1506246%3AEXACT_RED%3AHIGH&destinationId="]

def parse(self, response):
sel = Selector(response)
sites = sel.xpath('//h3[@class="hotel-name"]')
items = []
for site in sites:
item = HotelsItem()
type(item)
item['nameHotel'] = site.xpath('a/text()').extract()
item['idHotel'] = site.xpath('a/@id').extract()
items.append(item)
return items


Содержимое файла settings.py

Код: Выделить всё

BOT_NAME = 'hotels'

SPIDER_MODULES = ['hotels.spiders']
NEWSPIDER_MODULE = 'hotels.spiders'


Так что все это работает правильно. Он делает то, что я хочу (все равно мне приходится чистить места и прочее).

Но моя конечная цель — очистить американскую версию веб-сайта.
Поэтому я попытался заменить список с именем "start_urls", который у меня есть в Hotels_spyder.py, на этот: http://www.hotels.com/search.do?destina ... 2F15&rooms =1&children[0]=2&searchParams.rooms[0].numberOfAdults=2&searchParams.rooms[0].childrenAges[0]=7&searchParams.rooms[0].childrenAges[1]=7&searchParams.landmark=&searchParams.resolvedLocation=CITY%3A1506246 %3AEXACT_RED%3AHIGH&destinationId=

И это не работает. Я проверил исходный код обеих ссылок, и он один и тот же. Я действительно не понимаю, почему это не работает, и это сводит меня с ума уже неделю.

Заранее спасибо,
Фил>

Подробнее здесь: https://stackoverflow.com/questions/204 ... -a-website
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»