<p>我试图建立一个在线论坛的网址列表。在我的情况下使用BeautifulSoup是必要的。目标是一个包含一个线程的每个页面的url列表,例如</p>
<pre><code>[http://forum.pcgames.de/stellt-euch-vor/9331721-update-im-out-bitches.html,
http://forum.pcgames.de/stellt-euch-vor/9331721-update-im-out-bitches-2.html,
http://forum.pcgames.de/stellt-euch-vor/9331721-update-im-out-bitches-3.html]
</code></pre>
<p>工作原理如下:</p>
<pre><code>#import modules
import requests
from bs4 import BeautifulSoup
#define main-url
url = 'http://forum.pcgames.de/stellt-euch-vor/9331721-update-im-out-bitches.html'
#create a list of urls
urls=[url]
#load url
page = requests.get(url)
#parse it using BeautifulSoup
soup = BeautifulSoup(page.text, 'html.parser')
#search for the url of the next page
nextpage = soup.find("a", ["pag next"]).get('href')
#append the urls of the next page to the list of urls
urls.append(nextpage)
print(urls)
</code></pre>
<p>当我尝试为下面的页面构建if循环时,它将不起作用。为什么?你知道吗</p>
<pre><code>for url in urls:
urls.append(soup.find("a", ["pag next"]).get('href'))
</code></pre>
<p>(<code>"a", ["pag next"]).get('href')</code>标识下一页的url)</p>
<p>这不是一个使用url分页的选项,因为将有许多其他线程进行爬网。
我正在MacBookPro上使用Jupyter笔记本服务器5.7.4
Python 3.7.1版
IPython 7.2.0版</p>
<p>我知道<a href="https://stackoverflow.com/questions/42557071/web-scraping-every-forum-post-python-beautifulsoup">this</a>post的存在。对于我的初学者来说,代码写得太复杂了,但是也许你的经验可以让你把它应用到我的用例中。你知道吗</p>