Python beautifulsouphtml.parser不显示所有源代码
首先,我想从这个URL的这个表中删除一些值: 表的图像: 在检查了源代码之后,我基本上需要从中吸取教训: 目标值的源代码: 以下是我编写的代码:Python beautifulsouphtml.parser不显示所有源代码,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,首先,我想从这个URL的这个表中删除一些值: 表的图像: 在检查了源代码之后,我基本上需要从中吸取教训: 目标值的源代码: 以下是我编写的代码: from urllib.request import urlopen as uReq from bs4 import BeautifulSoup as soup my_url = "https://www.trademap.org/Product_SelCountry_MQ_TS.aspx?nvpm=1%7c076%7c%7c%7c%7cT
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url = "https://www.trademap.org/Product_SelCountry_MQ_TS.aspx?nvpm=1%7c076%7c%7c%7c%7cTOTAL%7c%7c%7c2%7c1%7c1%7c2%7c2%7c3%7c1%7c1%7c1"
uClient = uReq(my_url)
brazil_monthly_exports_html = uClient.read()
uClient.close()
brazil_monthly_export_soup = soup(brazil_monthly_exports_html, "html.parser")
brazil_monthly_export_soup.body.form.div.table
现在,如果我再深入一点,我就没什么收获了。如果我在后面加一个.t,我什么也得不到。添加.tr或findAlltr也不会显示任何值
输出:
全部的
所有产品
225,098,405
191,126,886
185,235,399
217,739,218
239,889,210
12
油籽和含油水果;杂粮、种子和水果;工业或医药。
23,500,132
21,207,738
19,557,938
26,008,460
33,517,529
27
矿物燃料、矿物油及其蒸馏产品;沥青物质;矿物
25,202,959
16,553,500
11,581,278
21,222,938
29,670,809
26
矿石、矿渣和灰烬
28,402,213
16,693,435
15,816,099
22,397,927
23,663,011
84
机械、机械装置、核反应堆、锅炉;部分
12,727,864
11,361,268
11,647,181
13,848,545
14,791,209
02
肉类及食用肉类内脏
15,417,191
13,077,586
12,655,793
13,953,388
13,292,305
87
铁路或有轨电车车辆以外的车辆及其零件和附件
9,808,166
9,604,507
10,971,033
14,724,004
12,652,789
72
钢铁
9,605,030
8,927,018
7,892,012
10,761,292
11,804,871
47
木材或其他纤维纤维素材料制成的纸浆;回收的废纸或废纸。
5,298,146
5,603,405
5,575,279
6,355,349
8,360,265
23
食品工业的残留物和废物;精制动物饲料
7,363,381
6,171,801
5,538,918
5,394,736
7,168,012
17
糖和糖果
9,616,253
7,781,310
10,585,665
11,566,378
6,672,492
89
船舶、船只和浮式结构物
2,167,168
1,985,490
3,841,358
932,484
5,765,291
09
咖啡、茶、垫子和香料
6,536,042
6,046,077
5,228,087
5,010,002
4,699,592
10
谷物
4,438,189
5,724,924
4,109,624
4,980,607
4,621,016
28
无机化学品;贵金属、稀土金属的有机或无机化合物。
3,346,932
3,403,950
3,301,028
3,852,041
4,185,991
88
飞机、航天器及其零件
4,050,744
4,503,206
4,803,093
4,045,347
3,973,881
85
电动机械和设备及其零件;录音机和放音机,电视。
4,216,053
3,649,815
3,239,912
3,435,462
3,458,453
39
塑料及其制品
3,610,243
3,483,327
3,501,806
3,656,340
3,426,433
71
天然或人工养殖的珍珠、宝石或半宝石、贵金属、包金属。
2,875,116
2,797,462
3,375,746
3,335,568
3,346,363
44
木材和木制品;木炭
2,243,112
2,271,395
2,361,478
2,779,920
3,182,251
20
蔬菜、水果、坚果或植物其他部分的制备
2,258,080
2,150,306
2,209,211
2,273,080
2,516,669
29
有机化学品
3,214,660
2,263,941
1,855,794
2,366,033
2,241,528
99
其他地方未指明的商品
180,703
149,803
2,124,969
140,501
2,222,181
48
纸和纸板;纸浆、纸或纸板制品
1,922,180
2,020,963
1,871,020
1,913,082
2,072,495
24
烟草和人造烟草替代品
2,501,868
2,186,217
2,123,366
2,092,161
1,988,179
我没看见桌子!此页面使用JavaScript添加项目,urllib和BeautifulSoup无法运行JavaScript,这可能是个问题。除了Firefox中的DevTools外,还找到了10个-你想要哪一个?。还有很多-你想得到哪一张?@furas你能看到他所说的表格吗?我看不到你在图片上显示的表格-可能你必须先填写表格,然后点击一些按钮才能得到它。@furas我找到了OP所说的手动操作,就像老鼠一样哈哈。哦,哇,字体颜色的有趣用法。。。你知道为什么我的方法不起作用吗?此外,我打算将这些页面完全废弃到过去,这意味着要浏览每一页。然而,当我在页面间切换时,URL并没有改变,这让我相信这是某种嵌入式表格?@moron为我提供了到达表格的步骤。因为我只是通过编程请求来实现的,因为你为我们共享的链接包含了一个需要本地生成的参数。哦,我明白你的意思了。。。我尝试在我的浏览器中再次加载URL,然后带着表单返回主页。参数从上到下、从左到右:出口、产品、总计-所有产品、巴西、零、年度时间序列我实际上打算获取每月时间序列,但您需要现有的会计才能访问它。月刊free@moron你有我的答案,所以如果它回答了你的问题。点击下面的按钮,您可以随意接受我的答案✓ 在答案旁边做标记。实际上。。。我正在尝试学习如何将其重新应用到其他65个国家,因此我希望学习如何根据给定参数获取所有数据。为我的无能道歉,我今天刚刚了解了BeautifulSoup
import requests
from bs4 import BeautifulSoup
payload = {'nvpm': '1|076||||TOTAL|||2|1|1|2|2|1|1|1|1'}
r = requests.get(
"https://www.trademap.org/Product_SelCountry_TS.aspx", params=payload)
soup = BeautifulSoup(r.text, 'html.parser')
for item in soup.findAll('font', {'color': '#002B54'}):
print(item.get_text(strip=True))