[英]Beautiful Soup returns only javaScript Code?
我想从以下网站抓取数据。 https://dell.secure.force.com/FAP/?c=de&l=de&pt=findareseller我试图从网络选项卡中获取数据,但它什么也没返回。 然后我尝试了 BeautifulSoup 来获取一些数据,但它只返回带有空 tbody 标签的 Javascript。 但是在检查元素中,它在表格中显示数据。
import requests
from bs4 import BeautifulSoup
url = 'https://dell.secure.force.com/FAP'
headers = {
'Connection': 'keep-alive'
}
data = {
'pt': "findareseller"
}
page = requests.get(url, params= data)
soup = BeautifulSoup(page.text, 'html.parser')
soup.find_all('table') # returns only javascript code.
有人可以帮忙吗,我该如何抓取数据?
soup.find_all('table')
返回一个包含所有表格元素的列表。
因此,要找到您的特定元素,您应该尝试找到一些使其与所有其他表不同的不同属性(如 id 或类)。
要访问元素属性,请使用t[0].attrs
来获取它们的列表,例如: t[0]["width"]
来访问它们。
另外:通过使用soup.select('table')
代替,您可以使用 css 选择器作为字符串输入,因此您不必处理 beautifulsoups 函数。
谢谢你们。 我想出答案。 我使用网络搜索来获取任何搜索请求。 我发现搜索 URL,以确认 URL 是否正确,我双击它并返回完全相同的页面。 所以我复制 bash 代码并将其作为导入“RAW TEXT”粘贴到 POSTMAN 中。 我发现它实际上使用了发布请求。 使用发布请求后,我能够获取所需的数据。 下面是带有 POST 的请求。
response = requests.request("POST", url, headers=headers, data=payload)
然后我用 BeautifulSoup 作为汤。
st = soup.find('input')['value'] # returns data I needed
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.