python - 蟒蛇美汤提取物href
问题描述
所以我正在用 python 测试美丽的汤(这对那些想知道的人来说很棒)
当我想从我得到的链接中获取 href 时遇到问题,我不明白为什么我不能得到它。
这是我的代码:
for url in soup.find_all('article'):
if "Gonz Logo" in url.get_text():
if "Black" in url.get_text():
print(url)
这有效,但它给了我这个:
<article><div class="inner-article"><a href="/shop/jackets/gw1diqgyr/n53istanq" style="height:150px;"><img alt="N7qmqyee 3g" height="150" src="//assets.supremenewyork.com/147789/vi/N7qMqyEe_3g.jpg" width="150"/></a><h1><a class="name-link" href="/shop/jackets/gw1diqgyr/n53istanq">Gonz Logo Coaches Jacket </a></h1><p><a class="name-link" href="/shop/jackets/gw1diqgyr/n53istanq">Black</a></p></div></article>
(是的,一条大线……)
问题是我只想获得href。当我尝试时:
print(url.get('href'))
我得到输出:无
我不知道为什么。
谢谢您的回答!
解决方案
我认为你得到 None 是因为soup.find_all('article')
. 当你这样做时,url.get('href')
你不会得到链接。
要获取链接,我建议您a
使用正则表达式获取所有标签,例如:
links = soup.findAll('a', attrs={'href': re.compile('[a-zA-Z0-9_()]')})
# now iterate over the links and
for link in links:
# get url
url = link.get('href')
print(url)
推荐阅读
- python - 线程 django-main-thread django 中的异常
- sql-server - 如何连接PHP7.3、sql server & Nginx Debian10
- sql - Presto sql join 与 intersect-union 哪个性能效率更高
- reactjs - 打字稿反应,基于某个道具值的动态道具?
- regex - egrep 如何在行首和行中搜索具有条件的单词?
- c# - 为什么不能通过 Convert.ToInt 将 Console.ReadLine 转换为 int
- javascript - 如何在 Laravel 中使用 ajax 保留旧值?
- docker - 压缩 docker 映像中的文件会加快拉取速度吗?
- c# - Task.Wait 与 ContinueWith 中的等待
- docker - 在两台机器上共享相同的环境