激活Python蜘蛛程序中的按钮

时间:2016-11-12 02:09:26

标签: python scrapy scrapy-spider

我绝对坚持这个。我正在从网页上抓取餐馆网址,底部有一个按钮,可以显示更多餐馆。网站按钮代码如下(我相信):

<div id="restsPages">
<a class="next" data-url="https://hungryhouse.co.uk/takeaways/aberdeen-bridge-of-dee-ab10">Show more</a>
<a class="back">Back to top</a>
</div>

这是&#34;显示更多&#34;按钮我想要激活。 &#34; data-url&#34;中的网址没有透露更多的页面。

在python spider中激活按钮怎么办似乎有点奇怪?

我尝试使用的代码是:

import scrapy

from hungryhouse.items import HungryhouseItem
from selenium import webdriver  

class HungryhouseSpider(scrapy.Spider):
    name = "hungryhouse"
    allowed_domains = ["hungryhouse.co.uk"]
    start_urls = ["https://hungryhouse.co.uk/takeaways/westhill-ab10",
                      ]
    def __init__(self):
        self.driver = webdriver.Chrome()

    def parse(self,response):
        self.driver.get(response.url)

        while True:
            next =self.driver.find_element_by_xpath('//*[@id="restsPages"]/a[@class="next"]')
            try:
                next.click()
            except:
                break
        self.driver.close()

.... rest of the code follows

我得到的错误是:&#39; chromedriver&#39;可执行文件需要在PATH中

1 个答案:

答案 0 :(得分:0)

这已在Pressing a button within python code处参考Error message: "'chromedriver' executable needs to be available in the path"

的答案得到解决

但具体而言

self.driver = webdriver.Chrome()

需要更改为

self.driver = webdriver.Chrome("C:/Users/andrew/Downloads/chromedriver_win32/chromedriver.exe")

就我而言。

即。我需要添加chromedriver.exe的路径。