こんにちは皆さん、もう一度、pythonのnoobはここに。 私は自分のプロジェクトでゆっくりと進んでいますが、1つのバグを修正すると別の問題が発生しました。かいつまん: は私は私はhrefの値を見つけることができます美しいsoup.find_allの値が空であることを確認してください
for tempNext in soup3.find_all(title=re.compile("^Next Page -")):
..loopを持っています。価値があるなら、それは素晴らしい作品です。そうでなければ、前回と同じものを再利用し続けます。残念ながら、このforループも別のループ内にあるので、毎回値を""
にリセットするのは簡単ではありません。
JUSTアイデアを得るために、これはスニペットがどのように見えるかです:
soup3 = make_soup('http://www.automotiveforums.com/vbulletin/' + link)
while tempNumber < 4:
for postScrape in soup3.find_all(id=re.compile("^td_post_")):
post = ""
post += postScrape.get_text(strip=True)
postData += post + "\n"
print(post)
for tempNext in soup3.find_all(title=re.compile("^Next Page -")):
tempNextPage = ""
tempNextPage += (tempNext.get('href'))
print(tempNextPage)
soup3 = ""
soup3 = make_soup('http://www.automotiveforums.com/vbulletin/' + tempNextPage)
tempNumber += 1
tempNumber = 1
number += 1
print(number)
newUrl = "http://www.automotiveforums.com/vbulletin/" + nextPage
soup = make_soup(newUrl)
は、それが空の場合for tempNext in soup3.find_all(title=re.compile("^Next Page -")):
値をチェックする方法があったのであれば、私は思っていた、そしてそれがあれば、ちょうどしかしtempNextPage = ""
設定私はそれを理解することができない最後のカップルの時間のために。
ループが完了した後に空の値に設定すると、他のページを掻き取ることはありません。
この質問を読んでいただきありがとうございました。ご意見をいただければ幸いです。
ニース1、おかげでたくさんの私クラスタを通して見ているため。実際にはFORループの外でリセットするだけで十分でしたが、チェックを付け加えれば、soup3.find_allのエラーメッセージが表示されます。しかし、それがなければ、それはうまく動作し、まだ大規模なネストされたループでそれを持っていない方法を考え出すが、絶対に今のところ動作します。ありがとうございました! – Norbis