希望提供帮助?以下是您的选择:","Crunchbase","关于我们","感谢大家的大力支持!","快速链接","联属会员计划","高级","ProxyScrape 高级试用","代理类型","代理国家","代理用例","重要","Cookie 政策","免责声明","隐私政策","条款和条件","在 Facebook 上","LinkedIn","推特","Quora","电报","不和谐音","\n © Copyright 2024 -Thib BV| Brugstraat 18 | 2812 Mechelen | Belgium | VAT BE 0749 716 760\n"]}
网络浏览器使用 Javascript 为用户创造动态的交互式体验。使互联网成为现代生活不可或缺的大部分应用程序和功能都是以 Javascript 的形式编码的。考虑到 Javascript 的早期雏形,网页都是静态的,除了点击链接外,几乎不提供任何用户交互功能。
网络浏览器使用Javascript为用户创造动态的交互式体验。使互联网成为现代生活不可或缺的大部分应用程序和功能都是以 Javascript 的形式编码的。考虑到 Javascript 的早期版本,网页都是静态的,除了点击链接和加载新页面外,几乎不提供任何用户交互功能。
以下是一些通过 Javascript 实现的动态网站增强功能。
您可以使用刮擦技术自动从网站上收集结构化数据。网络刮擦也被称为网络数据提取。网络刮擦的一些主要用例如下:
让我们先来了解一下搜索网站的必要性。
企业利用网络搜索可以利用大量公开数据做出更明智的决策。以下是网络搜索的一些应用领域。
以下是公司需要搜索网站的原因。
自动化 - 要复制和粘贴网站上的每一条信息是不可能的。公司使用搜索软件将大部分相关流程自动化。
数据管理 - 在 HTML 配置的网站上,无法使用数据库和电子表格来管理数字和数据。因此,公司使用网络扫描工具来管理数据。
房地产列表 - 房地产中介利用网络搜索来填充其数据库中可供出租或出售的房产。
购物网站比较数据 - 这些公司利用网络搜索技术从各零售商处搜索定价和产品数据,从而为用户提供他们想要的比较数据。
行业统计和洞察力 - 公司利用刮擦技术建立庞大的数据库,并从中汲取特定行业的洞察力。例如,一家公司可以搜索和分析大量有关石油价格的数据。然后,该公司就可以向世界各地的石油公司出售其洞察力。
让我们来看看如何使用Selenium搜刮 Javascript 网站。
您可以使用以下命令安装 Selenium。
pipinstallselenium
你知道 Selenium 模拟的是真正的浏览器吗?它不会使用你安装的 Chrome 浏览器,而是使用一个驱动程序来运行浏览器。Selenium 网络驱动既指语言绑定,也指各个浏览器控制代码的实现。你必须下载网络驱动程序,并将其添加到路径环境变量中。我们将使用 Firefox 网络驱动程序,你可以通过以下链接安装它。
让我们看一个简单的 selenium 示例,其中涉及收集网站标题。为此,我们将首先在一个 python 文件中导入来自 selenium 的 webdriver,如下所示:
fromseleniumimportwebdriver
我们必须提及 webdriver 所在的路径。然后,我们必须初始化 Firefox Web 驱动程序。
webdriver_path='./'
driver= webdriver.Firefox(WEBDRIVER_PATH)
现在,我们定义 URL 以获取网站标题。
URL ='https://www.google.com'
driver.get(URL)
print(driver.title)
运行上述代码会打开一个 firefox 窗口,在控制台中打印出网站的标题。在本例中,我们以Google的 URL 为例,因此结果将如下所示:
这是 Firefox 网络驱动程序的谷歌页面。打印在控制台上的标题为
我们必须手动关闭已打开的 Firefox 窗口。我们将在代码末尾添加 driver.quit(),以便工作完成后自动关闭窗口。
fromselenium import webdriver
webdriver_path ='./'
driver = webdriver.Firefox(WEBDRIVER_PATH)
URL ='https://www.google.com'
driver.get(URL)
print(driver.title)
driver.quit()
如果要从动态网站收集数据,也可以按照上述步骤操作。例如,如果要检索Youtube的标题,可以使用下面的代码。
fromselenium import webdriver
webdriver_path ='./'
driver = webdriver.Firefox(WEBDRIVER_PATH)
URL ='https://www.youtube.com'
driver.get(URL)
print(driver.title)
driver.quit()
让我们在这里尝试一些新东西。我们可以编辑搜索框,使用 "键 "类填充 "Selenium "一词,如下图所示。
from selenium.webdriver.common.keysimport Keys
初始化 firefox 网络驱动程序并获取 Youtube 标题后,我们创建了一个对象,其中包含使用 xpath 创建的搜索框。
search_box= driver.find_element_by_xpath('//input[@id="search"]')
然后,我们编辑搜索框的内容,在其中填入 "硒 "一词。
search_box.send_keys('Selenium')
在搜索框中填入所需内容后,我们就可以按 "回车键 "激活搜索。
搜索框.发送键(键值.ENTER)
从下图中可以看到,Youtube 搜索框中包含 "硒 "一词。
当您需要本地化网页内容时,就需要使用代理服务器。在短时间内向网站发送过多请求时,也需要使用代理。需要自动测试时,Selenium 也需要代理。不过,为了使用 Selenium 代理来刮擦 Javascript 网站,你需要使用 Selenium 线程来扩展 Selenium 的绑定并访问浏览器发出的底层请求。
要在代理中使用 Selenium,需要安装以下软件包。
fromselenium wireimportwebdriver
安装 Python selenium-wire 库后,您需要提及以下内容:
这里我们以 8080 端口为例。您可以自行设置用户名、密码和所需网站的 URL。
proxy_username = "USER_NAME"
proxy_password = "PASSWORD"
proxy_url = "Any Website URL"
proxy_port = 8080
options = {
"proxy": {
"http": f"http://{proxy_username}:{proxy_password}@{proxy_url}:{proxy_port}",
"verify_ssl": False,
},
}
对于 Selenium Web 驱动程序来说,住宅代理是最佳选择。因为与数据中心代理不同,它们不容易被发现。它们通过住宅 IP 路由客户请求,比数据中心 IP 赢得更多信任。它们在访问使用 Javascript 的复杂网站(如 Youtube、Google、Instagram 等)时也很有用。
由于以下原因,您需要使用代理来搜索网站:
网络搜索非常重要,因为您可以将其用于以下用途
此外,我们还讨论了如何使用Selenium在 Python 中抓取 Javascript 特色网站。您既可以抓取静态网站的内容,也可以抓取 Youtube 等动态网站的内容。您还需要使用 Selenium 代理进行自动化测试。你可以使用的最佳代理是住宅 代理,因为它们速度超快,而且不像其他代理那样容易被检测到。
希望你已经了解了如何使用 Python 搜刮 Javascript 网站。