ウェブクロールが初めてで、beautifulsoupをミニプロジェクトに統合する方法を学びたいと思っています。私は彼のyoutube channelのbeautifulsoupに関するthenewbostonのチュートリアルに続いて、Redditからクロールしようとしていました。 Reddit/r/nbaのNBAニュースのタイトルとリンクをクロールしたいが、成功しなかった。ターミナルで返されるのは「終了コード0で処理が完了しました」だけです。私はそれが私の選択と関係していたと感じましたか?どんな指導や助けも大歓迎です。RedditのNBAページをクロールできません
これは、元のコードで動作しませんでした:
import requests
from bs4 import BeautifulSoup
def spider(max_pages):
page = 1
while page <= max_pages:
url = 'https://reddit.com/r/nba' + str(page)
source_code = requests.get(url)
plain_text = source_code.text
soup = BeautifulSoup(plain_text, "html.parser")
for link in soup.find_all('a', {'class': 'title'}):
href = link.get('href')
print(href)
page += 1
spider(1)
私はこの方法をやってみましたが、それは問題を解決しませんでした:
import requests
from bs4 import BeautifulSoup
def spider(max_pages):
page = 1
while page <= max_pages:
url = 'https://www.reddit.com/r/nba/' + str(page)
source_code = requests.get(url)
plain_text = source_code.text
soup = BeautifulSoup(plain_text, "html.parser")
for link in soup.findAll('a', {'class': 'title'}):
href = "https://www.reddit.com/" + link.get('href')
title = link.string
print(href)
print(title)
page += 1
spider(1)
リクエストから返された内容を確認しましたか?ボットブロックを回避するには、ユーザーエージェントの文字列を変更する必要があります。 –
アプリケーションを実行すると「プロセスは終了コード0で終了しました」と表示されます – Vincent
plain_textの値は何ですか。 URLパターンも間違っています。 –