<p>由于该网站使用Ajax和JavaScript库来填充页面上的表,所以获取所需数据的最简单方法是复制Ajax请求。在</p>
<p>来自服务器的JSON数据具有以下结构:</p>
<pre><code>{
"value": {
"draw": "-1",
"recordsTotal": 1476,
"recordsFiltered": 1476,
"data": [{
"DT_RowClass": "even",
"0": "<a href=\"/at.gv.bmdw.eproc-p/public/de_AT/tenderlist?action=view&amp;object=41a809d9-0b61-4991-86b8-74dc07973af3-15ed14df-d91c-4905-94fd-e1d7935eaef1\">Planung Freiland/Brücke</a>",
"1": "Autobahnen- und Schnellstraßen-Finanzierungs-Aktiengesellschaft",
"2": "08.04.2019",
"3": null
}, {
"DT_RowClass": "odd",
"0": "<a href=\"/at.gv.bmdw.eproc-p/public/de_AT/tenderlist?action=view&amp;object=86dd87bd-7426-40c5-946b-62b2af638aab-7a54478b-9e89-4d47-bdf8-dc8b867c57b8\">Lieferung von Erdgas 2020 - 2022</a>",
"1": "Republik Österreich (Bund), Bundesbeschaffung GmbH sowie alle weiteren Auftraggeber gemäß der den Ausschreibungsunterlagen beiliegenden Drittkundenliste, im Vergabeverfahren alle vertreten durch die Bundesbeschaffung GmbH",
"2": "08.04.2019",
"3": "07.05.2019"
}]
}
}
</code></pre>
<p>下面使用<code>requests</code>模块从服务器获取JSON,并使用最小的HTML解析器从链接中提取文本。你可以自由使用beauthoulsoup来达到同样的目的。在</p>
^{pr2}$
<p>用法:</p>
<pre><code>for item in get_ausschreibungen(0, 3):
print(item)
</code></pre>
<p>为我打印这个:</p>
<pre><code>{'Bezeichnung': 'Planung Freiland/Brücke', 'Organisation': 'Autobahnen- und Schnellstraßen-Finanzierungs-Aktiengesellschaft', 'Veröffentlicht': '08.04.2019', 'Frist': None}
{'Bezeichnung': 'Lieferung von Erdgas 2020 - 2022', 'Organisation': 'Republik Österreich (Bund), Bundesbeschaffung GmbH sowie alle weiteren Auftraggeber gemäß der den Ausschreibungsunterlagen beiliegenden Drittkundenliste, im Vergabeverfahren alle vertreten durch die Bundesbeschaffung GmbH', 'Veröffentlicht': '08.04.2019', 'Frist': '07.05.2019'}
{'Bezeichnung': 'Umbau Bahnhof Villach ', 'Organisation': 'ÖBB-Personenverkehr AG', 'Veröffentlicht': '08.04.2019', 'Frist': None}
</code></pre>
<p>我确信过滤/转换成CSV不再是个问题了。在</p>
<p>使用浏览器的开发人员工具(F12)来确定正在发送的其他请求参数以及它们是否与您相关。您还可以尝试使用<code>requests</code>模块的会话功能“混合”,复制所有的HTTP头和cookies,但是考虑到这似乎是一个政府网站,他们可能不会介意您正在删除它们。在</p>