使用Python下的JavaScripts实现Web浏览的自动化

时间:2014-08-21 12:26:45

标签: javascript python web

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

我想从python中检索变量“item.n”(第399行)的值?看起来它是Javascript函数“onSearchLoaded”的内部变量,但如果你将鼠标指针放在搜索结果上,你会看到n = 160111 - 这是item.n的值我试图得到 python中有哪些包可以帮助我做到这一点?

1 个答案:

答案 0 :(得分:2)

您不必自己提取javascript变量,只需使用该变量。在这种情况下,它将被放置在搜索结果的href中。

您可以使用许多不同的库进行自动化。这取决于您希望看到的自动化水平。就我而言,我更喜欢使用硒来实现这些类型的自动化。结合核心python模块正则表达式,你可以创建一个基本的例子。我能够使用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等替换它。有许多不同的方法可以用来提取信息。