【发布时间】:2014-09-13 17:20:52
【问题描述】:
我正在尝试从搜索框中提取数据,您可以在 wikipedia 上看到一个很好的示例
这是我的代码:
driver = webdriver.Firefox()
driver.get(response.url)
city = driver.find_element_by_id('searchInput')
city.click()
city.clear()
city.send_keys('a')
time.sleep(1.5) #waiting for ajax to load
selen_html = driver.page_source
#print selen_html.encode('utf-8')
hxs = HtmlXPathSelector(text=selen_html)
ajaxWikiList = hxs.select('//div[@class="suggestions"]')
items=[]
for city in ajaxWikiList:
item=TestItem()
item['ajax'] = city.select('/div[@class="suggestions-results"]/a/@title').extract()
items.append(item)
print items
Xpath 表达式没问题,我在静态页面上检查过。如果我取消注释打印出废弃 html 代码的行,则该框的代码将显示在文件末尾。但是由于某种原因,我无法使用上面的代码从中提取数据?我必须错过一些东西,因为我尝试了 2 个不同的来源,维基百科页面只是我无法提取这些数据的另一个来源。 这里有什么建议吗?谢谢!
【问题讨论】:
标签: python selenium xpath web-scraping scrapy