2017-02-05 3 views
0

Я разработал Scrapy проект, который будет скрести текст из обзоров раздела конкретного отеля от tripadvisor.in,Scrapy не очищая весь текст

Однако, скребок потертость только часть обзора, а не все один , Я не знаю почему.

Например это один конкретный обзор

Мы остались в Акрона в течение 6 ночей в январе. Все об отеле идеально. Персонал отличный, как и сервис.

Удивительно, что цены на напитки и вино очень разумны в отеле, поэтому не нужно блуждать. Мы ели в отеле на 5 наших 6 ночей и не имели плохой еды. Одна ночь, которую мы съели, была «идти с потоком», что является очень приятным рестораном с отличной кухней, примерно в 200 ярдах от отеля.

Не ожидайте слишком многого от местных пляжей. Мы обнаружили, что они переполнены и грязны.

Завтрак необычен, потому что он работает с 7:00 до 13:00. Снова еда превосходна и хорошо представлена.

Не ожидайте слишком многого от местных пляжей. Мы обнаружили, что они переполнены и грязны.

Кроме этого, отличное пребывание. Спасибо всем сотрудникам.

Останавливался января 2017, путешествовал как пару

Однако Царапины обзор выходит только:

Мы остались в Акроне в течение 6 ночей в январе. Все, что касается отеля, идеально подойдет. \ NУслуги отличные, так же как и обслуживание. \ NНапример, цены на напитки и вино очень разумны в отеле, поэтому не нужно блуждать. \ NВы ели в отеле на 5 наших 6 ночей и не плохо ...

Все, что я хочу, это очистить весь обзор и исключить escape-символы, как мне это сделать?

Обратитесь к этой ссылке для гостей: Reviews

Кроме того, я хочу, чтобы очистить другую информацию, как имя пользователя, дата обзора опубликованной и т.д., что все идет отлично, однако, я хочу, чтобы очистить

  1. имя пользователя 2. дата 3. обзор 4. название

и хранить каждый обзор со всеми выше данные в словаре, так как я делаю, что все отзывы на веб-странице,

для например:

Username1 Date1 Title1 Review1 

Username2 Date2 Title2 Review2 

Username3 Date3 Title3 Review3 
    .  .  .  . 
    .  .  .  . 
Usernamen Daten Titlen Reviewn 

и экспортировать этот словарь в CSV или JSON формате?

вот кусок кода:

def parse(self,response): 
    for reviews in response.css('#taplc_hr_reviews_list_0'): 
     username = response.css(' div.username.mo > span::text').extract_first() 
     head = response.css('div > div > div > div > a > span::text').extract_first() 
     date = response.css('.reviewItemInline').xpath('span/@title').extract_first() 
     review = response.css('div>div.col2of2>div>div.wrap>div>div>p::text').extract_first() 
     holder = {'User':username,'Title':head,'Date':date,'Review':review} 

     yield holder 

ответ

0

Это JavaScript, который расширяет эти тексты и позволяет увидеть все отзывы, и Scrapy can't run JavaScript code.

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

Или, вы можете использовать Selenium. This и this вопросы могут помочь.

0

Вы не можете соскоблить обзор с этой страницы,

Вы должны будете сделать POST вызов https://www.tripadvisor.in/OverlayWidgetAjax?Mode=EXPANDED_HOTEL_REVIEWS&metaReferer=Hotel_Review вместе с этими значениями.

enter image description here

reviews Где могут быть захвачены из атрибута data-reviewid на https://www.tripadvisor.in/Hotel_Review-g635747-d7289335-Reviews-Acron_Waterfront_Resort-Baga_Goa.html странице

Смежные вопросы