堆叠Selenium和Scrapy来抓取动态页面,我遇到了一个问题,我可以成功捕获动态页面的所有文本,但无法转换为Selector对象。下面的方法适用于其他iBooks页面,但不适用于示例中使用的方法。
from scrapy.selector import Selector
from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.get('https://itunes.apple.com/ch/genre/bucher-belletristik-und-literatur/id9031?mt=11&letter=M')
page_text = driver.page_source # is valid HTML string
page_select = Selector(text=page_text)
>>>page_select
<Selector xpath=None data=u'<html><body><html xmlns:a0="http://www.w'>
这里发生了什么?似乎Selector正在重新获取页面,但我想要它做的只是将文本转换为选择器对象。 我有scrapy配置为每当发出请求时向我显示,并且当设置page_select = Selector(text = page_text)时确实已经通过:
<class 'scrapy.http.response.html.HtmlResponse'>
<200 about:blank>