Web scraping 在没有名称的情况下,如何使用Python请求登录;按钮“;输入字段

Web scraping 在没有名称的情况下,如何使用Python请求登录;按钮“;输入字段,web-scraping,python-requests,Web Scraping,Python Requests,我正在尝试使用请求登录到站点。在我的post请求中,我必须发送表单的所有输入字段。按钮输入的name字段似乎不存在,因此我不知道在该字段中放置哪个值/输入字段如下所示: <input type="text" name="email_address" size="40" class="input-text"> <input type="password" name="password" size="40" class="input-text"> <input type

我正在尝试使用请求登录到站点。在我的
post
请求中,我必须发送表单的所有输入字段。按钮输入的
name
字段似乎不存在,因此我不知道在该字段中放置哪个值/输入字段如下所示:

<input type="text" name="email_address" size="40" class="input-text">
<input type="password" name="password" size="40" class="input-text">
<input type="submit" class="button-normal" value="Log In">

我打印的响应url是一个包含只有登录用户才能看到的信息的页面。当然,代码失败了,我相信这是因为我没有提交按钮的输入值。我可以在这里放什么?谢谢。

脚本无法让您登录网站的主要原因是缺少标题。实施它总是一个好主意。总的来说,您的代码应该是这样的

import requests

payload = {'email_address': 'email', 'password': 'password'}

headers = {
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
    "Accept-Language": "en-US,en;q=0.5",
    "Accept-Encoding": "gzip, deflate",
    "Referer": "https://www.southernhobby.com/login.php",
    "Content-Type": "application/x-www-form-urlencoded",
    "Content-Length": "34",
    "DNT": "1",
    "Connection": "close",
    "Upgrade-Insecure-Requests": "1",
}

with requests.session() as s:
    s.post('https://www.southernhobby.com/login.php?action=process', data=payload, headers = headers)
    response = s.get('https://www.southernhobby.com/ccg-s/magic-the-gathering/c13_362/', headers=headers)
    print(response.text)
正如您所见,我还删除了
s.get(login\u url)
'':“登录”
,因为这两个代码片段对您的代码没有任何贡献

希望这能帮到你:)

payload = {'email_address': 'email', 'password': 'password', '':'Log In'}
login_url = 'https://www.southernhobby.com/login.php?action=process'
url = 'https://www.southernhobby.com/ccg-s/magic-the-gathering/c13_362/'

with requests.session() as s:
    s.get(login_url)
    s.post(login_url, data=payload)
    response = s.get(url)
    print(response.text)
import requests

payload = {'email_address': 'email', 'password': 'password'}

headers = {
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
    "Accept-Language": "en-US,en;q=0.5",
    "Accept-Encoding": "gzip, deflate",
    "Referer": "https://www.southernhobby.com/login.php",
    "Content-Type": "application/x-www-form-urlencoded",
    "Content-Length": "34",
    "DNT": "1",
    "Connection": "close",
    "Upgrade-Insecure-Requests": "1",
}

with requests.session() as s:
    s.post('https://www.southernhobby.com/login.php?action=process', data=payload, headers = headers)
    response = s.get('https://www.southernhobby.com/ccg-s/magic-the-gathering/c13_362/', headers=headers)
    print(response.text)