激活 Python 蜘蛛程序中的按钮
Activating a button within a Python spider program
我绝对坚持这一点。我正在从网页上抓取餐厅 URL,底部有一个按钮可以显示更多餐厅。网站按钮代码如下(我相信):
<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>
这是我要激活的 "Show more" 按钮。 "data-url" 中的 url 不会显示更多页面内容。
从 python 蜘蛛中激活按钮的方法似乎有点奇怪?
我尝试使用的代码是:
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
我得到的错误是:'chromedriver' 可执行文件需要在 PATH
中
已在 Pressing a button within python code with reference to the answer at
解决
但具体来说
self.driver = webdriver.Chrome()
需要更改为
self.driver = webdriver.Chrome("C:/Users/andrew/Downloads/chromedriver_win32/chromedriver.exe")
就我而言。
即我需要将路径添加到 chromedriver.exe.
我绝对坚持这一点。我正在从网页上抓取餐厅 URL,底部有一个按钮可以显示更多餐厅。网站按钮代码如下(我相信):
<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>
这是我要激活的 "Show more" 按钮。 "data-url" 中的 url 不会显示更多页面内容。
从 python 蜘蛛中激活按钮的方法似乎有点奇怪?
我尝试使用的代码是:
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
我得到的错误是:'chromedriver' 可执行文件需要在 PATH
中已在 Pressing a button within python code with reference to the answer at
但具体来说
self.driver = webdriver.Chrome()
需要更改为
self.driver = webdriver.Chrome("C:/Users/andrew/Downloads/chromedriver_win32/chromedriver.exe")
就我而言。
即我需要将路径添加到 chromedriver.exe.