如何使用Python/BeautifulSoup提取所有页面源代码?

2024-03-28 13:26:09 发布

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

我试图从这个网站上读取一个表的数据:https://cdn.ime.co.ir(就像图片中的表一样(你应该点击每个表的标题打开它)) enter image description here 但使用以下代码似乎无法访问表内容!如何读取表的数据

import requests
import urllib.request
import time
from bs4 import BeautifulSoup

url = 'https://cdn.ime.co.ir'
response = requests.get(url)

soup = BeautifulSoup(response.text, "html.parser")
result = soup.find()
print(result)

我要查找的是inspect element找到的以下html代码,但在我在代码中打印的result响应变量中看不到它:

<table id="future" border="0" cellpadding="3" cellspacing="1" class="table table-bordered table-striped" ng-hide="num == $index" width="100%">
                                <thead>
                                    <tr>
                                        <th colspan="9">
                                            <div class="pull-right">
                                                <span ng-click="showModal('md',fkey)" class="btn btn-default"><i class="fa fa-list"></i><b> مشخصات قرارداد</b></span>
                                            </div>
                                        </th>
                                    </tr>

                                    <tr>
                                        <th class="bgHead" rowspan="2" title="Futures Contract" style="width: 200px">
                                            کدقرارداد
                                        </th>
                                        <th class="bgHead" colspan="2" title="Bid">
                                            تقاضا
                                        </th>
                                        <th class="bgHead" colspan="2" title="Ask">
                                            عرضه
                                        </th>
                                        <th class="bgHead" colspan="5" title="Traded Prices">
                                            قیمت های معامله شده
                                        </th>

                                    </tr>
                                    <tr>
                                        <th class="bgHead" title="Vol">
                                            حجم
                                        </th>
                                        <th class="bgHead" title="Price">
                                            قیمت-ریال
                                        </th>
                                        <th class="bgHead" title="Price">
                                            قیمت-ریال
                                        </th>
                                        <th class="bgHead" title="Vol">
                                            حجم
                                        </th>
                                        <th class="bgHead" title="قیمت اولین معامله انجام شدهFirst">
                                            اولین
                                        </th>
                                        <th class="bgHead" title="بالاترین قیمت معامله شدهHigh">
                                            بالاترین
                                        </th>
                                        <th class="bgHead" title="پایین ترین قیمت معامله شدهLow">
                                            پایین ترین
                                        </th>
                                        <th class="bgHead" colspan="2" title="قیمت آخرین معامله انجام شدهLast">
                                            آخرین
                                        </th>

                                    </tr>
                                    <tr>
                                        <td class="Spr" colspan="10"></td>
                                    </tr>
                                </thead>
                                <tbody class="content">

                                    <tr>
                                        <!-- 1 -->
                                        <td rowspan="2">
                                            <b class="ng-binding">
                                                <button class="btn btn-default fa fa-area-chart" ng-click="myFFunc('lg',item.ContractCode)"></button>
                                                SAFOR99
                                            </b>

                                        </td>
                                        <td class="number bid ng-binding">0</td>

                                        <td class="number bid ng-binding">0</td>

                                        <td class="number ask ng-binding">0</td>

                                        <td class="number ask ng-binding">0</td>

                                        <td class="number ng-binding">93,000</td>

                                        <td class="number ng-binding">93,200</td>

                                        <td class="number ng-binding">87,900</td>

                                        <td class="number ng-binding">87,900</td>
                                        <td rowspan="7"><span class="btn-danger fa fa-close" ng-click="num=$index"></span></td>

                                    </tr>
                                    <tr>
                                        <!-- 2 -->
                                        <td class="number bid ng-binding">0</td>

                                        <td class="number bid ng-binding">0</td>

                                        <td class="number ask ng-binding">0</td>

                                        <td class="number ask ng-binding">0</td>

                                        <td class="number" rowspan="2" title="تغییر نسبت به قیمت تسویه روزانه">
                                            <div ng-class="{ red: item.FirstTradedPriceChanges < 0,green: item.FirstTradedPriceChanges > 0 }" class="ng-binding green" style="">519</div>
                                            <div ng-class="{ red: item.FirstTradedPriceChangesPercent < 0,green: item.FirstTradedPriceChangesPercent > 0 }" class="ng-binding green">0.56%</div>
                                        </td>
                                        <td class="number" rowspan="2" title="تغییر نسبت به قیمت تسویه روزانه">

                                            <div ng-class="{ red: item.HighTradedPriceChanges < 0,green: item.HighTradedPriceChanges > 0 }" class="ng-binding green" style="">719</div>
                                            <span ng-class="{ red: item.HighTradedPriceChangesPercent < 0,green: item.HighTradedPriceChangesPercent > 0 }" class="ng-binding green">0.78%</span>
                                        </td>
                                        <td class="number" rowspan="2" title="تغییر نسبت به قیمت تسویه روزانه" id="LWTPC">
                                            <div ng-class="{ red: item.LowTradedPriceChanges < 0,green: item.LowTradedPriceChanges > 0 }" class="ng-binding red" style="">
                                                -4,581
                                            </div>
                                            <span ng-class="{ red: item.LowTradedPriceChangesPercent < 0,green: item.LowTradedPriceChangesPercent > 0 }" class="ng-binding red">-4.95%</span>
                                        </td>
                                        <td rowspan="2" title="تغییر نسبت به قیمت تسویه روزانه">
                                            <div ng-class="{ red: item.LastTradedPriceChanges < 0,green: item.LastTradedPriceChanges > 0 }" dir="ltr" class="ng-binding red" style="">
                                                -4,581
                                            </div>
                                            <span ng-class="{ red: item.LastTradedPriceChangesPercent < 0,green: item.LastTradedPriceChangesPercent > 0 }" dir="ltr" class="ng-binding red">-4.95%</span>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <div title="وجه تضمین اولیه" class="ng-binding">
                                                2,000,000
                                            </div>
                                        </td>
                                        <!-- 3 -->
                                        <td class="number bid ng-binding">0</td>
                                        <td class="number bid ng-binding">0</td>
                                        <td class="number ask ng-binding">0</td>
                                        <td class="number ask ng-binding">0</td>
                                    </tr>
                                    <tr>
                                        <td class="number ng-binding" title="حداقل وجه تضمین">1,400,000</td>
                                        <!-- 4 -->

                                        <td animate-on-change="item.PersianOrdersDateTime" colspan="4" title="زمان آخرین به روزرسانی سفارشات" class="ng-binding"></td>

                                        <td colspan="4" title="نوع ارز" class="ng-binding">
                                            ریال/گرم
                                        </td>
                                    </tr>
                                    <tr>
                                        <!-- 5 -->
                                        <td class="ng-binding"></td>

                                        <td class="DateTimeStyle" colspan="4" title="">--</td>

                                        <td animate-on-change="item.FirstTradedPriceTime" title="زمان انجام اولین معامله" class="ng-binding">10:30:00</td>

                                        <td colspan="2"></td>
                                        <td animate-on-change="item.LastTradedPriceTime" title="زمان انجام آخرین معامله" class="ng-binding">14:54:46</td>

                                    </tr>

                                    <tr>
                                        <th class="bgHead" title="Size">
                                            اندازه قرارداد
                                        </th>
                                        <th class="bgHead" colspan="4" title="قیمت تسویه روزانه">
                                            قیمت تسویه روزانه
                                        </th>
                                        <th class="bgHead" title="حجم معاملات انجام شده">
                                            حجم
                                        </th>
                                        <th class="bgHead ng-binding" colspan="2" title="ارزش معاملات انجام شده">
                                            ارزش (هزار ریال)
                                        </th>
                                        <th class="bgHead" title="موقعیت های تعهدی باز بازار">
                                            موقعیتهای باز
                                        </th>
                                    </tr>
                                    <tr>
                                        <td class="ng-binding">100 گرم</td>

                                        <td colspan="4"><span class="number ng-binding">92,481</span> (<span title="تاریخ قیمت تسویه روزانه" class="ng-binding"></span>)</td>

                                        <td class="number ng-binding" rowspan="2">63,197</td>

                                        <td colspan="2"><span class="number ng-binding">566,715,310</span></td>

                                        <td class="number">
                                            <div title="موقعیت های باز" class="ng-binding">58,497</div>
                                            <span title="تغییر نسبت به روز قبل" ng-class="{ red: item.OpenInterestsChanges < 0,green: item.OpenInterestsChanges > 0 }" class="ng-binding red" style="">-4,529</span>(<span ng-class="{ red: item.OpenInterestsChangesPercent < 0,green: item.OpenInterestsChangesPercent > 0 }" class="ng-binding red">-7.19 %</span>)
                                        </td>

                                    </tr>

                                    <tr>
                                        <td class="Spr" colspan="10"></td>
                                    </tr>
                                </tbody>



                    </table>

Tags: divnumbertitlegreenreditemngtr