使用BeautifulSoup登录后从其他相关页面获取数据

2024-10-03 11:19:41 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是我编写的代码,登录后我被卡住了。 我想在登录后浏览用户的数据。我该怎么做

import requests
from bs4 import BeautifulSoup

#login informations from Network requests
login_data={
    'honnan':'index.jsp',
    'login-azonosito':'******',
    'login-jelszo':'******',
    'login':'Login'
}

# creating sessions
with requests.Session() as s:
    url="Someurl here"
    r=s.get(url,verify=False)
    #print(r.content)
    soup =BeautifulSoup(r.content,'html.parser') #parsing html contents
    login_data['honnan'] = soup.find('input',attrs={'name': 'honnan'})['value'] #getting the value of id in input field

    r=s.post(url,data=login_data) #passing login data
    print(r.content)

#scraping content
tags = soup('a')
for tag in tags:
    print(tag.get('href',None))



Tags: fromimporturlinputdatagetvaluehtml
1条回答
网友
1楼 · 发布于 2024-10-03 11:19:41

在使用会话时,您正在使用with语句,所有其他的刮码都应该在with语句中,因为with语句结束时,所有代码都关闭并退出。因此,拿出带有语句的,或者将所有其他漂亮的汤代码移到其中,你应该是正确的

import requests
from bs4 import BeautifulSoup

#login informations from Network requests
login_data={
    'honnan':'index.jsp',
    'login-azonosito':'******',
    'login-jelszo':'******',
    'login':'Login'
}

# creating sessions
with requests.Session() as s:
    url="Someurl here"
    r=s.get(url,verify=False)
    #print(r.content)
    soup =BeautifulSoup(r.content,'html.parser') #parsing html contents
    login_data['honnan'] = soup.find('input',attrs={'name': 'honnan'})['value'] #getting the value of id in input field

    r=s.post(url,data=login_data) #passing login data
    print(r.content)

    #scraping content
    tags = soup('a')
    for tag in tags:
        print(tag.get('href',None))

希望这有帮助

相关问题 更多 >