为什么我不能用漂亮的汤刮?

我需要从这个网站上刮下唯一的桌子:https ://core.ap.gov.in/CMDashBoard/UserInterface/eAgriculture/eAgricultureVillagewise.aspx?mandal=Agali&district=Anantapuramu


我用了漂亮的汤和请求,但没有成功。你们能建议我哪里出错了吗?


mandal_url = "https://core.ap.gov.in/CMDashBoard/UserInterface/eAgriculture/eAgricultureVillagewise.aspx?mandal=Agali&district=Anantapuramu"

r = requests.get(mandal_url, verify=False).content

soup = bs4.BeautifulSoup(r, 'lxml')

df = pd.read_html(str(soup.find('table',{"id":"gvAgricultureVillage"})))

我在数据框中看到“找不到页面”。我不知道我哪里错了!


素胚勾勒不出你
浏览 130回答 3
3回答

慕少森

该页面可能需要某种登录。通过单击链接自己查看它,我得到您需要将 cookie / 其他一些标头添加到请求中以显示“已登录”。

眼眸繁星

尝试单击您尝试从无效链接中抓取的链接。当我单击您提供的链接或您存储的链接时mandal_url,都返回“找不到页面”页面。因此,您以正确的方式进行抓取,但是您提供给抓取工具的 url无效/不再可用。

ABOUTYOU

我无法访问该网站。但是您可以通过以下方式直接阅读网页上的表格:dfs = pd.read_html(your_url, header=0)如果 url 需要身份验证,您可以通过以下方式获取表单:r = requests.get(url_need_authentivation, auth=('myuser', 'mypasswd')) pd.read_html(r.text, header=0)[1]这将简化您的代码。希望能帮助到你!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python