【发布时间】:2016-11-27 17:20:24
【问题描述】:
我正在学习 Python 抓取技术,但我遇到了抓取 Ajax 页面 like this one 的问题。
我想抓取页面中出现的所有药物名称和详细信息。由于我阅读了堆栈溢出的大部分答案,但在抓取后我没有得到正确的数据。我还尝试使用 selenium 进行抓取或发送伪造发布请求,但失败了。
所以请帮助我处理这个 Ajax 抓取主题,特别是这个页面,因为从下拉选项中选择一个选项会触发 ajax。 另外请给我提供一些用于 ajax 页面抓取的资源。
//使用硒
from selenium import webdriver
import bs4 as bs
import lxml
import requests
path_to_chrome = '/home/brutal/Desktop/chromedriver'
browser = webdriver.Chrome(executable_path = path_to_chrome)
url = 'https://www.gianteagle.com/Pharmacy/Savings/4-10-Dollar-Drug-Program/Generic-Drug-Program/'
browser.get(url)
browser.find_element_by_xpath('//*[@id="ctl00_RegionPage_RegionPageMainContent_RegionPageContent_userControl_StateList"]/option[contains(text(), "Ohio")]').click()
new_url = browser.current_url
r = requests.get(new_url)
print(r.content)
【问题讨论】:
-
您能否向我们展示一下您对 selenium 的尝试?
-
我试图触发城市选项,以便新的 ajax 页面加载,我可以通过 url 并获取药表数据,但由于页面加载具有相同的 url,我得到了废品数据,但是没有我需要的信息
-
你应该提供一些代码
-
请在问题中添加您的代码,而不是在 cmets 中
-
@Abhinavrawat,您想获取每个州的所有名称及其数据吗?对吗?
标签: python web screen-scraping