答案 0 :(得分:1)
我认为问题在于您尝试查找链接的方式。当我curl
与您curl https://www.youtube.com/results\?search_query\=hello
相同的网址时
我没有获得带有这些css元素的a
个标签。这似乎基于标头中设置的User-Agent
属性。
所以有几个选择:
这就是我的卷曲的视频链接标记
<a href="/watch?v=YQHsXMglC9A" class="yt-uix-tile-link yt-ui-ellipsis yt-ui-ellipsis-2 yt-uix-sessionlink spf-link " data-sessionlink="itct=CFcQ3DAYASITCLfbt4P439gCFQzYfgodkDYKVij0JFIFaGVsbG8" title="Adele - Hello" aria-describedby="description-id-484065" rel="spf-prefetch" dir="ltr">Adele - Hello</a>
&#13;
正如您所见,这些课程不存在。
但是,您可以在hrefs上使用某种正则表达式来查找包含正确格式的正则表达式
page.find_all("a", {'href': re.compile('/watch?v=[A-Za-z0-9_\-]`)})
(你将不得不搞乱正则表达式,它不是完美的
我想说这将是优先考虑的方法,只是猜测你想要做什么。特别是search api他们甚至有python片段