我对Python还很陌生,正在尝试爬行一个经常刷新自身的网站(这导致我尝试爬行的元素具有不稳定的指针)并且源代码中不存在目标元素。 ,。 如果您需要链接,其:http://www.beijingrtj.com/
当我尝试使用时:
html = r.get(url).text
soup = bs(html, 'html.parser')
data = soup.find_all('b').text
它只返回了一个 AttributeError 给我: AttributeError:ResultSet 对象没有属性“文本”。您可能将元素列表视为单个元素。当你想调用 find() 时,你调用了 find_all() 吗?
然后我尝试对数据使用 list() ,它向我返回一个空列表。除了request和BeautifulSoup我还能用什么?
您在页面上看到的数据是通过 Javascript 从外部 URL 加载的。您可以使用
requests
模块来模拟此调用:
import requests
url = "http://www.beijingrtj.com/admin/get_price5.php?=&t=1697284159486"
response = requests.post(url)
_, *data, time = response.text.split(",")
i = iter(data)
for col1, col2 in zip(i, i):
print(f"{col1:<10} {col2:<10} {time:<10}")
打印:
460.80 461.80 19:54:07
5.500 5.630 19:54:07
210.7 212.8 19:54:07
277.0 280.0 19:54:07
0.0 0.0 19:54:07
459.65 344.22 19:54:07
198.8 267.3 19:54:07