Here is a solution based on pandas & requests:
import requests
import pandas as pd
headers = {
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.79 Safari/537.36'
}
url = 'https://www.anime-planet.com/manga/top-manga/week'
r = requests.get(url, headers=headers)
df = pd.read_html(r.text)[0]
print(df[:10])
Result printed in terminal:
|
Rank |
Title |
Year |
StatusEpsRating |
| 0 |
1 |
The Beginning After the End |
2018 |
Unread Reading Want to Read Stalled Dropped Won't Read |
| 1 |
2 |
Damn Reincarnation |
2022 |
Unread Reading Want to Read Stalled Dropped Won't Read |
| 2 |
3 |
One Piece |
1997 |
Unread Reading Want to Read Stalled Dropped Won't Read |
| 3 |
4 |
Omniscient Reader |
2020 |
Unread Reading Want to Read Stalled Dropped Won't Read |
| 4 |
5 |
The Swordmaster's Son |
2022 |
Unread Reading Want to Read Stalled Dropped Won't Read |
| 5 |
6 |
My School Life Pretending To Be a Worthless Person |
2022 |
Unread Reading Want to Read Stalled Dropped Won't Read |
| 6 |
7 |
Player Who Returned 10,000 Years Later |
2022 |
Unread Reading Want to Read Stalled Dropped Won't Read |
| 7 |
8 |
Jujutsu Kaisen |
2018 |
Unread Reading Want to Read Stalled Dropped Won't Read |
| 8 |
9 |
Grim Reaper's Floating Moon |
2022 |
Unread Reading Want to Read Stalled Dropped Won't Read |
| 9 |
10 |
Villains Are Destined to Die |
2020 |
Unread Reading Want to Read Stalled Dropped Won't Read |
Relevant pandas docs: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_html.html
And for requests: https://requests.readthedocs.io/en/latest/