【问题标题】:Scraping javascript data within a grid of a webpage在网页的网格中抓取 javascript 数据
【发布时间】:2019-01-13 21:22:19
【问题描述】:

我对网络抓取真的很陌生,我正在做一个项目,我需要从加载并需要滚动以获取所有值的网格中抓取数据。
网页是(https://applipedia.paloaltonetworks.com/)。

我需要网格内的所有数据——(包含NAME , CATEGORY, SUBCATEGORY, RISK, TECHNOLOGY 的数据)。

谁能指导我解决这个问题的方法。我研究并发现带有 js 或 phantomjs 的 selenium 可能是一个很好的解决方案,但并不确定。编程部分我将使用 Python。

【问题讨论】:

  • 是的。使用无头浏览器是可行的方法。除此之外;根据help center中的指导方针,这个问题的范围太广了
  • 谢谢。我如何在此处进行向下滚动?

标签: javascript python selenium web-scraping phantomjs


【解决方案1】:

您可以使用此代码从所需的网站上抓取所有内容:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC 

driver   = webdriver.Chrome(executable_path = r'C:/Users/abhishep/Downloads/chromedriver_win32/chromedriver.exe')
driver.maximize_window()

driver.get("https://applipedia.paloaltonetworks.com/") 

wait = WebDriverWait(driver,30)

table = wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, 'tbody#bodyScrollingTable tr')))

for tab in table:
  print(tab.text)

【讨论】:

  • 非常感谢 Cruisepandey。您能否分享一些有关最佳学习硒或此类任务的链接
  • 你可以关注这个基本但官方的文档selenium-python.readthedocs.io
  • 如何从只有子域的名称中获取数据。例如:在第 5 行:2ch 有 2 个子域 |_2ch-base 和 2ch-posting。像这样我只想获取具有子域的应用程序列表
  • @Swordsman :如果您能提出新的问题/关注,那就太好了。 SO 用户将很乐意为您提供帮助。
  • 当然。我也会这样做
猜你喜欢
  • 2019-02-19
  • 2012-09-19
  • 1970-01-01
  • 1970-01-01
  • 2021-10-15
  • 2021-12-28
相关资源
最近更新 更多