使用Python通过javascript调用解析网站
因为我在普通的维基媒体中找不到API函数来获取图像的AliSense,所以我只能自己获取网页并解析它 对于每张图片,wikimedia中都有一个不错的弹出窗口,列出了我需要的“属性”字段。 例如,页面右侧有一个链接,上面写着“在web上使用此文件”。单击它时,我可以看到我需要的“属性”字段 使用Python,我如何获取网页并启动javascript调用来打开弹出窗口,以便检索“属性”字段中的文本 谢谢使用Python通过javascript调用解析网站,python,parsing,Python,Parsing,因为我在普通的维基媒体中找不到API函数来获取图像的AliSense,所以我只能自己获取网页并解析它 对于每张图片,wikimedia中都有一个不错的弹出窗口,列出了我需要的“属性”字段。 例如,页面右侧有一个链接,上面写着“在web上使用此文件”。单击它时,我可以看到我需要的“属性”字段 使用Python,我如何获取网页并启动javascript调用来打开弹出窗口,以便检索“属性”字段中的文本 谢谢 meir假设您可以阅读Javascript,您可以查看以下Javascript文件: 您可以查
meir假设您可以阅读Javascript,您可以查看以下Javascript文件:
您可以查看Javascript如何获取其信息(查看
get\u author\u attribute
和get\u license
。您可以使用BeautifulSoup
将其移植到Python以解析HTML。假设您可以阅读Javascript,您可以查看此Javascript文件:
你可以看到Javascript是如何获取信息的(查看
get\u author\u attribute
和get\u license
。你可以使用beautifulsou
将其移植到Python来解析HTML。我想看看如何使用其他工具来完成这项工作。使用和,可以这样做:
import selenium
sel=selenium.selenium("localhost",4444,"*firefox", "file://")
sel.start()
sel.open('http://commons.wikimedia.org/wiki/File%3aBrad_Pitt_Cannes_2011.jpg')
sel.click('//a[contains(@title,"Use this file on the web")]')
print(sel.get_value('//input[@id="stockphoto_attribution"]'))
sel.stop()
屈服
Georges Biard [CC-BY-SA-3.0 (www.creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons
我很想看看如何使用其他工具来完成这项工作。使用和,可以这样做:
import selenium
sel=selenium.selenium("localhost",4444,"*firefox", "file://")
sel.start()
sel.open('http://commons.wikimedia.org/wiki/File%3aBrad_Pitt_Cannes_2011.jpg')
sel.click('//a[contains(@title,"Use this file on the web")]')
print(sel.get_value('//input[@id="stockphoto_attribution"]'))
sel.stop()
屈服
Georges Biard [CC-BY-SA-3.0 (www.creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons
使用unutbu的答案,我将其转换为使用Selenium(而不是旧的Selenium RC) 输出:
on the web
on a wiki
使用unutbu的答案,我将其转换为使用Selenium(而不是旧的Selenium RC) 输出:
on the web
on a wiki
可能重复。可能重复.nice。我添加了一个显示Selenium WebDriver而不是Selenium RC的新答案。WebDriver版本不需要Selenium server.nice。我添加了一个显示Selenium WebDriver而不是Selenium RC的新答案。WebDriver版本不需要Selenium server。不过,谢谢,我需要单击“网上”时在弹出窗口内打开的文本谢谢,但是,我需要单击“网上”时在弹出窗口内打开的文本