Я узнал, что в какой-то момент вам нужно использовать webtoolkits, например, selenium для автоматизации скребков.Как использовать селен вместе со скрипом для автоматизации процесса?
Как я могу щелкнуть следующую кнопку в Google Play Store, чтобы очистить отзывы только для моей цели колледжа!
import scrapy
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.selector import Selector
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from urlparse import urljoin
from selenium import webdriver
import time
class Product(scrapy.Item):
title = scrapy.Field()
class FooSpider(CrawlSpider):
name = 'foo'
start_urls = ["https://play.google.com/store/apps/details?id=com.gaana&hl=en"]
def __init__(self, *args, **kwargs):
super(FooSpider, self).__init__(*args, **kwargs)
self.download_delay = 0.25
self.browser = webdriver.Chrome(executable_path="C:\chrm\chromedriver.exe")
self.browser.implicitly_wait(60) #
def parse(self,response):
self.browser.get(response.url)
sites = response.xpath('//div[@class="single-review"]/div[@class="review-header"]')
items = []
for i in range(0,200):
time.sleep(20)
button = self.browser.find_element_by_xpath("/html/body/div[4]/div[6]/div[1]/div[2]/div[2]/div[1]/div[2]/button[1]/div[2]/div/div")
button.click()
self.browser.implicitly_wait(30)
for site in sites:
item = Product()
item['title'] = site.xpath('.//div[@class="review-info"]/span[@class="author-name"]/a/text()').extract()
yield item
Я обновил свой код, и это только дает мне repeative 40 пунктов снова и again.whats неправильно с моей цикл?
кажется, что исходный код, который обновляется не передается в XPATH вот почему она возвращается с теми же 40 пунктов
Он по-прежнему не загружает URL-адрес браузера –
браузер открыт, но в него не вводится url –
Попробуйте 'webdriver.Chrome()' вместо 'webdriver.Firefox()'. Firefox тоже не работал в моем случае. – Timofey