Я пытаюсь отловить некоторую информацию с этой страницы ASP http://laredoute.fr/ppdp/prod-350007615.aspx главным образом первые 4 изображения с высоким разрешением, которые загружаются в карусели изображения. В зависимости от цвета продукта у вас есть несколько кнопок, которые вы должны выбрать. Это код, который у меня есть, который извлекает кнопки и добавляет их в список, который нужно щелкнуть позже.Scrapy and Javascript
from selenium import webdriver
from scrapy.http import HtmlResponse
from scrapy.spiders import Spider
from scrapy.selector import Selector
from scrapy.selector import HtmlXPathSelector
from scrapy.linkextractors import LinkExtractor
import urllib
import urllib2
from bs4 import BeautifulSoup
class MyOpener(urllib.FancyURLopener):
version = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17'
myopener = MyOpener()
url = 'http://www.laredoute.fr/ppdp/prod-350007615.aspx'
f = myopener.open(url)
soup = BeautifulSoup(f)
viewstate = soup.find("fieldset", class_="set set-colour")
list = []
for elem in viewstate.findAll('label'):
#print elem['title']
#print elem['for']
list.append(elem['for'].strip('\n\t ,'))
#print list
driver = webdriver.Chrome('/Users/vasquez/Documents/crawler/chromedriver')
driver.maximize_window()
driver.get(url)
radio = driver.find_element_by_id(list[0])
driver.execute_script("arguments[0].click();", radio)
Теперь у меня есть проблемы с этим. Эта карусель изображений находится здесь, в этой части HTML-кода.
<div class="divProds jcarousel-clip">
<ul class="divAddScroller">
</ul>
</div>
Если открыть Инструменты разработчика в Chrome и нажмите на него появляется весь код, если я разобрать весь HTML с Scrapy, как я делал раньше код не существует, и я могу получить ссылку img, которая мне нужна. Это часть HTML, которую я хочу проанализировать.
<li><a href="javascript:void(0)">
<img src="//media.laredoute.com/products1/72by72/d/e/6/350007615_0_PR_1_11970785_350007615-1fca06aa-305f-4b3f-92da-80e8e21cb43a_1200.jpg" data-src="http://media.laredoute.com/|Dimension|/d/e/6/350007615_0_PR_1_11970785_350007615-1fca06aa-305f-4b3f-92da-80e8e21cb43a_1200.jpg" title="Blouse manches longues, transparences, dentelle VERO MODA" alt="Blouse manches longues, transparences, dentelle VERO MODA image 1" width="72" height="72" data-cerberus="img_pdp_thumbnails1" class="">
</a>
</li>
Так как последний вопрос, как я могу сделать Scrapy нагрузку, JavaScript: недействительным (0) IMG ссылку внизу. Благодарю.
Отправляй сообщение: http://stackoverflow.com/questions/8550114/can-scrapy-be-used-to-scrape-dynamic-content -из-сайты-что-это-с использованием-Ajax. – Jaco
Я рекомендую вам проверить [Splash] (https://github.com/scrapinghub/splash), он отлично работает с помощью scrapy для рендеринга javascript. – eLRuLL
Спасибо, ребята! Будет проверено! –