如果我想得到这个网站上表格的内容,应该读什么HTML标签(网页抓取)

2024-05-21 05:20:44 发布

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

我试图阅读这个网页的内容:http://cdn.ime.co.ir(实际上这是一个股票市场网站,我喜欢阅读价格/数量以及属于特定股票的每个表格的内容)。 但是不知道我应该读什么HTML标签?当我看到页面源代码时,我可以看到“حجم”或“قیمت”等表格的内容,但找不到相关的值? 我在windows10上使用beautifulsoup和python。你知道吗


Tags: http网页内容数量ir网站htmlcdn
2条回答

所有的表都有一个类DataGridStyle和包含内容的行Contents,因此如果您想要表的所有内容,您应该在所有这些tr中获得td,因此遍历将使用table.DataGridStyle tr.Contents > td完成。你知道吗

你可以在javascript控制台上尝试,使用。。。你知道吗


const tds = document.querySelectorAll('table.DataGridStyle tr.Contents > td')

// The, per every td you would use the property `innerText`
// to get only the text with no HTML at all. For instance:
console.log(tds[5].innerText)
// "۱۳۴,۱۰۰"

希望有帮助

看起来你可以模仿POST请求并传递合同代码

import requests

data = {'ContractCode' : 'OSFKH98'}
r = requests.post('http://cdn.ime.co.ir/Services/Fut_Live_Loc_Service.asmx/GetContractInfo', json = data ).json()
print(r)

你可以做一个循环,例如:

import requests

codes = ['OSFKH98', 'OSFOR98','OSFTR98', 'SAFKH98','SAFOR98','SAFTR98']

with requests.Session() as s:
    for code in codes:
        data = {'ContractCode' : code}
        r = s.post('http://cdn.ime.co.ir/Services/Fut_Live_Loc_Service.asmx/GetContractInfo', json = data ).json()
        print(r)

示例r:

https://jsoneditoronline.org/?id=ec913bbb31164500900780c129e971f4

相关问题 更多 >