pythonの新機能とWebスクレイピングの学習。このようなサイトからタイトルとリンク(ないタイトルリンク)をこすりしようとしています:どのように出力として複数のリンクの問題を解決するには、サイトを掻きながら、Pythonを使用して?
Title 1
Link 1
Title 2
Link 2
Title 3
Link 3
が、問題は、このように行うことができないのですが、私は(リンク)ループのネストでこれを実行しようとしましたinside for loop(title)しかし、これは上記のようにタイトルを表示するが、このようにすべてのタイトルのリンクを表示する。
Title 1
Link 1
Link 2
Link 3
Title 2
Link 1
Link 2
Link 3
Title 3
Link 1
Link 2
Link 3
私にはこの問題を解決するためのすべてが運がありません!誰でも助けてもらえますか?
この問題を解決するためにセットを追加できますか?セットは重複を避けるため、役立つかもしれないと考えているからです。
私のコードは次のようになります。
import requests
from bs4 import BeautifulSoup
def scrape(url):
source_code = requests.get(url)
text = source_code.text
soup = BeautifulSoup(text)
for title in soup.findAll("html_element", {"attribute": "value "}): #loop for title
tit = title.string
print("\n",tit)
for link in soup.findAll("html_element", {"attribute": "value "}): #loop for links
href = link.get("href")
print(href)
#break
scrape("http://www.website.com/")
htmlの小さな例を追加できますか?たぶん、最初のループで 'title 'を直接参照して2回繰り返さなくてもリンクを得ることができます – PRMoureu
HTMLの要素、属性、値はタイトルとリンクが異なるため、1つのループではできません。 – Ashwin
そうですが、ノードをリストするために同じセレクターを使用しているので、思ったよりもそれほど差はありません。小さなサンプルがここで助けになるかもしれない – PRMoureu