私はBeautifulSoupを使って簡単なWebScraperを構築することになっているオンラインクラスの問題に取り組んでいます。特定のアンカータグを呼び出して、Python WebscraperのURLに戻すにはどうすればいいですか?
ここに私の進捗状況は、これまでのところです:
import urllib.request, urllib.parse, urllib.error
from bs4 import BeautifulSoup
import ssl
count = int(4)
position = int(3)
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
url = 'http://py4e-data.dr-chuck.net/known_by_Fikret.html'
html = urllib.request.urlopen(url, context=ctx).read()
soup = BeautifulSoup(html, "html.parser")
tags = soup('a', None)
for tag in tags:
print(tag.get('href', None))
私の質問はこれです:私は、タグ内のタグのリストから特定のアンカータグを抽出するにはどうすればよいですか?また、どのようにしてforループを4回だけ繰り返すことができますか?
割り当ての詳細:
更新:
import urllib.request, urllib.parse, urllib.error
from bs4 import BeautifulSoup
import ssl
position = int(3)
count = int(4)
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
url = input('Enter - ')
for i in range(count):
html = urllib.request.urlopen(url, context=ctx).read()
soup = BeautifulSoup(html, 'html.parser')
tags = soup('a')
print(tags[position])
だから私は位置でこのようにタグを呼び出すことができますが、私は位置にタグを反復処理する方法を知っておく必要があります。今の私のプログラムは、3回目のリンクを4回印刷します。
Welcome to StackOverflow! StackOverflowの宿題に関する質問は禁止されていませんが、あなたの質問へのより良い回答に役立つよう、**問題**をテキスト**に含めることをお勧めします。 –
a)リストインデックスを使用してください。たとえば、 'tags [2]' b) 'range'を使用してください。例えば:for i in range(4): –
範囲機能を完全に忘れました。ありがとうございました! –