如何在BeautifulSoup中通过匹配其href属性中的文本来抓取元素 - javascript

        

    

网站上有几个href标签,我通过文字对其进行了解析。
例如,

<a href="#goUrl" onClick="javascript:goUrl('/board/list.do?boardID=1111&m=100&s=111', 'N')">test1</a>
<a href="#goUrl" onClick="javascript:goUrl('/board/list.do?boardID=1111&m=200&s=111', 'N')">test2</a>
<a href="#goUrl" onClick="javascript:goUrl('/board/list.do?boardID=1111&m=300&s=111', 'N')">test3</a>"

我用了

bs = getBeautifulSoupRequests(board_url)
result = bs.findAll('a', href=True, text='test1')

和结果

"<a href="#goUrl" onClick="javascript:goUrl('/board/list.do?boardID=1111&m=100&s=111', 'N')">test1</a>

但我想得到如下结果

/board/list.do?boardID=1111&m=100&s=111

我该怎么办?

参考方案

你很亲密您只需要获取onclick属性的值并从那里提取链接。您可以使用正则表达式模式来匹配链接,或者使用快速脏的split()如下所示:

from bs4 import BeautifulSoup

html = '''<a href="#goUrl" onClick="javascript:goUrl('/board/list.do?boardID=1111&m=100&s=111', 'N')">test1</a>
<a href="#goUrl" onClick="javascript:goUrl('/board/list.do?boardID=1111&m=200&s=111', 'N')">test2</a>
<a href="#goUrl" onClick="javascript:goUrl('/board/list.do?boardID=1111&m=300&s=111', 'N')">test3</a>"'''

soup = BeautifulSoup(html)
for t in soup.find_all('a', href=True, onclick=True, text='test1'):
    onclick = t['onclick'].split("'")[1]
    print(onclick)

输出量

/board/list.do?boardID=1111&m=100&s=111

如果我得到url(''),我该如何使用另一个URL - javascript

我是新手,正在写这篇文章,但是如果源上没有图像,那么我只有空白。有人可以告诉我,如果我正在获取背景图像,如何获取/images/no-image.jpg:url();这是我的代码:<div class="uk-clearfix uk-position-relative"> <div class="recipeb…

在JavaScript函数中转义引号 - javascript

我正在尝试将变量传递给javascript函数。根据用户的选择,它可以是文本或图像。这里已经讨论了类似的问题,但我无法解决。在php中,我这样编码:if ($choice == 1) { $img = '<img src = "../folder/'.$_SESSION["img"].'�…

如何在没有for循环的情况下在Javascript中使用Django模板标签 - javascript

我想在JavaScript中使用模板变量:我的问题是在javascript代码中使用for循环,for循环之间的所有事情都会重复..但我不想要....下面粘贴了我的代码..有人可以告诉我更好的方法吗这..因为这看起来很丑..这是我的代码: {% block extra_javascript %} <script src="/static/js…

使用JS和PHP更改弹出窗口背景图像 - javascript

我有一个JS函数:function zoom(now) { document.getElementById("popup").style.display = "block"; document.getElementById("photos").style.backgroundImage = …

打印二维阵列 - javascript

我正在尝试打印子元素。在this example之后。怎么做?。$myarray = array("DO"=>array('IDEAS','BRANDS','CREATIVE','CAMPAIGNS'), "JOCKEY"=>a…