在python下使用javascript实现网页浏览的自动化

automatization of web browsing with JavaScripts under python

本文关键字:实现 网页浏览 自动化 javascript python      更新时间:2023-09-26

我正在寻找一个包/方式来自动化网页浏览。例如,我有这些搜索结果(对不起,俄语):http://www.consultant.ru/search/?q=N + 145 - 97 + % % D0%A4%D0 % D0%BE % D1 % 82 + 31.07.1998

我想检索变量"item"的值。N"(第399行)来自python?它看起来像是Javascript函数"onSearchLoaded"的内部变量,但是如果你把鼠标指针放在搜索结果上,你会看到n=160111——这就是item的值。n我正试着python中有哪些包可以帮助我做到这一点?

您不必提取javascript变量本身,只需提取它使用该变量的位置。在本例中,它被放置在从搜索返回的结果的href中。

有很多不同的库可以用于自动化。这取决于您希望看到的自动化程度。在我的例子中,我更喜欢对这些类型的自动化使用selenium。将其与核心python模块regex结合起来,您就可以创建一个基本示例。我能够使用selenium:

编写一个快速的模型。
from selenium import webdriver
import re
url = "http://www.consultant.ru/search/?q=N+145-%D0%A4%D0%97+%D0%BE%D1%82+31.07.1998"
pattern = re.compile("n=('d+)")
xpath = '//div[@id = "baseSrch"]//a'
browser = webdriver.Firefox()
page = browser.get(url)
elements = browser.find_elements_by_xpath(xpath)
browser.close()
for element in elements:
    match = re.search(pattern, element.get_attribute("href"))
    if match:
        print match.group(1)

收益率:

160111

但是这不是唯一的方法,你也可以用urllib、requests、lxml等来代替它。有很多不同的方法可以用来提取信息