Python 从具有多个选项卡的网站中提取数据

Python 从具有多个选项卡的网站中提取数据,python,html,Python,Html,我试图从一个动态更新(每隔几个小时左右)的网站上获取数据,这是一个交通服务网站,它有几个页面/标签。 到目前为止,我所能做的就是,不管我怎么做,都只拉第一页。 所以我无法提取其他选项卡的数据。 守则: from bs4 import BeautifulSoup, SoupStrainer import requests import pandas as pd # For establishing connection proxies = {'http': 'http:...'} url = '

我试图从一个动态更新(每隔几个小时左右)的网站上获取数据,这是一个交通服务网站,它有几个页面/标签。 到目前为止,我所能做的就是,不管我怎么做,都只拉第一页。 所以我无法提取其他选项卡的数据。 守则:

from bs4 import BeautifulSoup, SoupStrainer
import requests
import pandas as pd

# For establishing connection
proxies = {'http': 'http:...'}
url = 'http://yit.maya-tour.co.il/yit-pass/Drop_Report.aspx?client_code=2660&coordinator_code=2669'

page = requests.get(url, proxies=proxies)
data = page.text
soup = BeautifulSoup(data, "lxml")

for link in soup.find_all('a'):
    print(link.get('href'))
    html = requests.get(url, proxies=proxies).text
    df_list = pd.read_html(html)
    df = df_list[1]
    df.to_csv('my data.csv')
我也试着通过解析html源代码来实现这一点,但也只得到了第一页,有什么想法吗


您应该提取第一页的超链接,并在代码中使用它!(如果没有超链接,请将其他URL放入循环中,如下所示)


您应该提取第一页的超链接,并在代码中使用它!(如果没有超链接,请将其他URL放入循环中,如下所示)


网页每15秒调用以下javasscript代码:

function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}

打开浏览器开发工具并在此函数中放置断点。理解代码提交的参数后,使用(或其他http客户端)从python代码提交表单。

每隔15秒,网页将调用下面的javasscript代码:

function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}

打开浏览器开发工具并在此函数中放置断点。理解代码提交的参数后,使用(或其他http客户端)从python代码提交表单。

调用每个页面意味着什么?您说过要从包含一些页面的网站中提取数据。正确的?我想说的是,你只需要调用一个页面,就可以得到一个页面的数据。我的意思是,我有一个url,它有一个动态表,有几个选项卡(页码),我想从所有选项卡中提取数据,而不是仅从第一个选项卡中提取数据。对。使用特定的URL调用所有选项卡地址:URL/tab1、URL/tab2。。。在for循环中。如果您可以添加站点的图片或说URL,我们可以帮助您更多调用每个页面意味着什么?您说过要从具有一些页面的网站中提取数据。正确的?我想说的是,你只需要调用一个页面,就可以得到一个页面的数据。我的意思是,我有一个url,它有一个动态表,有几个选项卡(页码),我想从所有选项卡中提取数据,而不是仅从第一个选项卡中提取数据。对。使用特定的URL调用所有选项卡地址:URL/tab1、URL/tab2。。。在for循环中。如果你可以添加网站的图片或说URL,我们可以帮助你更多这是我不知道怎么做的。这是我不知道怎么做的。