为什么我无法使用request.post尝试发布?

时间:2019-02-13 11:19:07

标签: python beautifulsoup request

我知道这则帖子可能与其他问题重复,但是我已经读过任何帖子,但没有得到我想知道的内容

在我问这个之前,我已经读过Post

我的问题

我想用BeautifulSouprequests.post抓取This web以便从网络上提交一些表格。

我使用的这个示例代码:

import requests, json
from bs4 import BeautifulSoup as BS

url = "https://www.resi.co.id"
datas = {
    "userForm":{
           "id":"80879880999985"
     }
}

with requests.Session() as s:
    req = s.post(url, data=json.dumps(datas)
    if req.ok:
        soups = BS(req.text,"html.parser")
        print(soups.prettify())

我想我可以看到我想要的输出,但是我没有想要的输出结果,我的错在哪里?我只是阅读并尝试了来自Google的任何示例,然后从stackoverflow发布了内容,但我没有得到我想要的任何东西。

我真的很感谢每一个帮助,对不起我的英语。

1 个答案:

答案 0 :(得分:1)

不太清楚您想要什么,因为不清楚。但是,要获取数据,您需要将其包括在datas中。另外,请求网址为https://api1.cekresi.co.id/allcnote.php。它将返回html / text,而不是json。然后,您可以使用熊猫来抓取那些桌子:

import requests
import pandas as pd
from bs4 import BeautifulSoup as BS

url = "https://api1.cekresi.co.id/allcnote.php"
datas = {"id":"070950000307119",
         'kurir': 'jne'}


with requests.Session() as s:
    req = s.post(url, data=datas)
    if req.ok:
        tables = pd.read_html(req.text)

        for table in tables:
            print (table)
            print ('\n')

输出:

                 0  1                        2
0          No Resi  :          070950000307119
1           Status  :                DELIVERED
2          Service  :                    YES19
3  Dikirim tanggal  :               2019-02-09
4     Dikirim oleh  :        JESAND SHOPBEKASI
5       Dikirim ke  :  EDWINPINANG , TANGERANG
6       JNE Status  :                DELIVERED


                   0                        ...                                                                          2
0            Tanggal                        ...                                                                 Keterangan
1   2019-02-09 14:07                        ...                          SHIPMENT RECEIVED BY JNE COUNTER OFFICER AT [B...
2   2019-02-09 17:08                        ...                                 SHIPMENT PICKED UP BY JNE COURIER [BEKASI]
3   2019-02-09 17:14                        ...                                        RECEIVED AT SORTING CENTER [BEKASI]
4   2019-02-09 19:46                        ...                                       PROCESSED AT SORTING CENTER [BEKASI]
5   2019-02-10 03:50                        ...                                          RECEIVED AT WAREHOUSE [TANGERANG]
6   2019-02-10 05:33                        ...                          SHIPMENT FORWARDED TO DESTINATION [TANGERANG, ...
7   2019-02-10 12:42                        ...                                                      RUMAH / KANTOR KOSONG
8   2019-02-10 12:42                        ...                                          WITH DELIVERY COURIER [TANGERANG]
9   2019-02-11 10:32                        ...                                          WITH DELIVERY COURIER [TANGERANG]
10  2019-02-11 13:40                        ...                                             ALAMAT TIDAK LENGKAP / TIDAK D
11  2019-02-11 15:10                        ...                                          WITH DELIVERY COURIER [TANGERANG]
12  2019-02-11 15:32                        ...                          DELIVERED TO [EDWIN | 11-02-2019 15:32 | TANGE...

[13 rows x 3 columns]


            0                   1           2
0     Tanggal              Lokasi  Keterangan
1  2019-02-09  PINANG , TANGERANG   DELIVERED