python - 问题 - 从 beautifulsoup 内容中获取所有 href
问题描述
我想从下面的代码中获取所有 href 链接,但只获取第一个 href。无法解决我错的地方。你能帮我解决这个问题吗?
for i in range(1,3):
url = "https://www.gittigidiyor.com/samsung-cep-telefonu?sf=" + str(i)
r = requests.get(url)
source = BeautifulSoup(r.content,"lxml")
liste = source.find_all('div', attrs={"class":"gg-w-24 gg-d-24 gg-t-24 gg-m-24 root-column padding-none"})
for url in liste:
url_phone = "https:" + url.a.get("href")
print(url_phone)
解决方案
你需要find_all('a')
遍历这些,而不是只使用它,find('a')
或者.a
它只会抓住<a>
它找到的第一个标签。
import requests
from bs4 import BeautifulSoup
import pandas as pd
for i in range(1,3):
url = "https://www.gittigidiyor.com/samsung-cep-telefonu?sf=" + str(i)
r = requests.get(url)
source = BeautifulSoup(r.content,"lxml")
liste = source.find_all('div', attrs={"class":"gg-w-24 gg-d-24 gg-t-24 gg-m-24 root-column padding-none"})
for url in liste:
all_hrefs = url.find_all('a', href=True)
for href in all_hrefs:
url_phone = "https:" + href['href']
print(url_phone)
推荐阅读
- html - 如何让产品的标题(Woo-Commerce)以白色文本显示
- xcode - 使用 Xcode 的新构建系统运行预构建步骤
- datastax - 在 cassandra 中选择不同计数的方法是什么?
- javascript - 如何从具有公共键:值对的对象数组中创建单个对象
- python - 从 Python 中将文件名传递给子进程
- mongodb - 当我在 docker 上运行 Jenkins 的作业时无法连接到 MongoDb
- android - 为什么我不能在 build.gradle 中实现设计库
- unity3d - Unity 错误:调试不包含日志的定义。在 Visual Studio Code 中编码,还安装了所需的数据包,但仍然无法正常工作
- html - CSS-背景图像不是全屏(uikit)
- xamarin.forms - xamarin 形成棱镜白屏