【发布时间】:2019-06-27 22:31:08
【问题描述】:
我正在抓取一个网页,http://www.starcitygames.com/buylist/,我需要单击一个按钮才能访问一些数据,因此我试图模拟鼠标单击,但我对如何执行此操作感到困惑。我有建议只刮 JSON,因为它会容易得多,但我真的不想刮它。我宁愿刮掉常规网站。这是我到目前为止所拥有的,我不知道该怎么做才能让它点击那个显示按钮,但这是我迄今为止最好的尝试。
import scrapy
from scrapy.spiders import Spider
from scrapy_splash import SplashRequest
from ..items import NameItem
class LoginSpider(scrapy.Spider):
name = "LoginSpider"
start_urls = ["http://www.starcitygames.com/buylist/"]
def parse(self, response):
return scrapy.FormRequest.from_response(
response,
formcss='#existing_users form',
formdata={'ex_usr_email': 'email@example.com', 'ex_usr_pass': 'password'},
callback=self.after_login
)
def after_login(self, response):
item = NameItem()
element = splash:select('#bl-search-category') #CSS selector
splash:mouse_click(x, y)# Confused about how to find x and y
item["Name"] = response.css("div.bl-result-title::text").get()
return item
【问题讨论】:
标签: python scrapy scrapy-splash