Python BeautifulSoup错误元素在尝试查找href时不可见?

时间:2017-07-13 17:43:58

标签: python

我正在尝试在href中找到包含“.ics”的网址。我前几天测试了这段代码并且它工作得很好,但现在当我尝试搜索“链接中的链接”时,“打印链接”会导致:``

public function store(Request $request)
    {
        try {
            $inputs = $request->all();
            Donor::create($inputs);
            $data = ['success' =>'Data saved successfully'];
        } catch (\Exception $e) {
            $data = ['error' =>$e->getMessage()];
        }
        return Response::json($data);



    }

由于这一点,'if link.get('href')'代码永远不会得到满足,并且不会返回URL。造成这种情况的原因是什么,还有另一种方法可以返回包含“.ics”的网址吗?

<a class="element-invisible element-focusable" href="#main-content" 
tabindex="1">Skip to main content</a>
<a class="element-invisible element-focusable" href="#main-content">Skip to 
main content</a>

1 个答案:

答案 0 :(得分:3)

我建议您通过传递css href选择器和正则表达式模式来简化搜索:

links = soup.find_all('a', {'href' : re.compile('.*\.ics') })

输出:

[<a class="subscribe" href="https://registrar.fas.harvard.edu/calendar/upcoming/all/export.ics">subscribe</a>,
 <a class="ical" href="https://registrar.fas.harvard.edu/calendar/upcoming/all/export.ics">iCal</a>]

您现在不必跳过箍来验证您的锚标签。