使用 python 操纵第三方网站的 html 源代码

Manipulating the html source-code of a third party website using python

当我检查网站元素时(google 警报:https://www.google.com/alerts)我输入名称并按 'more options'。当我检查此页面的元素以查找 'How Often' 等按钮之一时,我注意到在 HTML 源代码中:

<div class="goog-inline-block goog-flat-menu-button-caption" id=":3" role="option" aria-setsize="3" aria-posinset="2">At most once a day</div>

如果我手动将 'At most once a day' 编辑为另一个选项的确切文本(通过我的检查器)(例如我键入:'At most once a week',它实际上会在网站上创建更改。因此,我很好奇 python 中是否有一种方法(可能通过 selenium 或 beautiful soup)来实际编辑第三方网站的 html 代码来创建这些类型的更改?如果没有,我是正在努力寻找一种使用 selenium 更改此下拉按钮选择的方法,并希望得到任何见解。

谢谢!

有 Google 个警报 API Python 客户端 - galerts。不确定它是否仍然有效,因为它已有 4 年历史了。

或者,您可以使用浏览器自动化方法并通过使用 selenium 控制它的浏览器进行更改。对于这个特定的下拉菜单,找到它并单击具有 At most once a week 文本的元素:

dropdown = driver.find_element_by_css_selector("div.frequency_select")
dropdown.click()

once_a_week = driver.find_element_by_xpath("//*[. = 'At most once a week']")
once_a_week.click()

您可以编辑页面的 HTML,但这不是您想要的。您基本上会更改 selection 的标签,但不会更改其行为。把它想象成把男洗手间的标志改成 "Women's." 它不会把那个洗手间改成女洗手间,这只会让走在那里的女人感到困惑……:)

您要做的是 select 页面上的特定选项。要使场景正常工作,您需要执行用户在脚本中执行的操作。要更改该下拉菜单(它并不是真正的 SELECT 下拉菜单,它的外观和行为就像一个下拉菜单),您需要单击它,然后单击您想要的元素。两次点击的那些元素都有 ID,因此您应该能够轻松地点击它们。