Q
與蟒蛇
1
A
回答
1
For循環很好,但你不能總是使用它們。在這種情況下,我只需重複按下「下一頁」按鈕中的鏈接,直到沒有這樣的按鈕。事情是這樣的:
url = <first page>
while True:
# extract data
if <there is a next page button>:
url = <href of the button>
else:
break
1
這將讓所有的頁面,產生的每一個BeautifulSoup對象,鏈接到下一個頁面與類向前錨標記:
import requests
from urlparse import urljoin
def get_pages(base, url):
soup = BeautifulSoup(requests.get(url).content)
yield soup
next_page = soup.select_one("a.forward")
for page in iter(lambda: next_page, None):
soup = BeautifulSoup(requests.get(urljoin(base, page["href"])).content)
yield soup
next_page = soup.select_one("a.forward")
for soup in get_pages("https://www.xrel.to/", "https://www.xrel.to/games-release-list.html?archive=2016-01"):
print(soup)
+0
thx給你。但是我已經在我自己的解決方案中實現了Alex的想法。我在前面的課上做了這個,雖然 – Sannin
+0
@Sannin,在另一個說明中,你應該確實檢查你是否正確地獲取源並捕獲連接錯誤,僅僅因爲你沒有發現該按鈕並不一定意味着它是因爲你到達最後一頁 –
相關問題
- 1. 與蟒蛇
- 2. Pyevolve與蟒蛇
- 3. batch.models.PoolAddParameter與蟒蛇
- 4. 與蟒蛇
- 5. 與LXML蟒蛇
- 6. 與蟒蛇
- 7. 與蟒蛇
- 8. 與蟒蛇
- 9. 與蟒蛇
- 10. 與蟒蛇
- 11. 與蟒蛇
- 12. 與蟒蛇
- 13. 與蟒蛇
- 14. Cx_oracle:TO_DATE與蟒蛇
- 15. 與蟒蛇
- 16. 與蟒蛇
- 17. 與蟒蛇
- 18. 與蟒蛇
- 19. 與蟒蛇
- 20. 與蟒蛇
- 21. 與蟒蛇
- 22. 與蟒蛇
- 23. 與蟒蛇
- 24. 與蟒蛇DOC
- 25. 與蟒蛇
- 26. 與蟒蛇
- 27. 與蟒蛇
- 28. 與蟒蛇
- 29. 蟒蛇 - 與networkX
- 30. 與蟒蛇
THX 。非常好的想法=)我會嘗試這個 – Sannin