python - 我请求的页面不代表与BeautifulSoup4相同的结构

标签 python python-3.x web-scraping beautifulsoup python-requests

我使用requests请求一个页面,但是当我将它与BeautifulSoup一起使用时,结构发生了变化,并且我无法在文档中找到我想要找到的内容。让我解释一下。

This is the the page I am trying to analyze.

我正在尝试使用此 CSS 选择器获取元素:.chosen-select 选项

示例代码

res = requests.get("http://www.eshot.gov.tr/tr/OtobusumNerede/290")
doc = BeautifulSoup(res.text, "html.parser")

代码中的一些调试

我试图找到我所追求的元素的独特内容。第一个 option 元素包含 NARLIDERE。所以我在上面两个中搜索它:

"NARLIDERE" in res.text # True
"NARLIDERE" in str(doc.html) # False

进一步调试

所以我很好奇是什么原因造成的。我使用 requests 请求的源和我使用 bs4 解析的源完全不同,请参见下文:

############
# Requests #
############

<body>
# A lot of stuff...
<select class="chosen-select" id="drpHatlar" name="hatId" onchange="UlasimSaatiSorgula()" tabindex="2"><option value="5">5 : NARLIDERE - &#220;&#199;KUYULAR İSKELE</option>
<option value="6">6 : ARIKENT - &#220;&#199;KUYULAR İSK.</option>
<option value="7">7 : SAHİLEVLERİ - &#220;&#199;KUYULAR İSK.</option>
<option value="8">8 : G&#220;ZELBAH&#199;E - F.ALTAY AKTARMA</option>
<option value="9">9 : &#214;ZZ&#220;MR&#220;T EVLERİ - G&#220;ZELBAH&#199;E</option>
<option value="10">10 : F.ALTAY AKT. - KONAK</option>
<option value="12">12 : F.ALTAY AKT. - HALKAPINAR METRO</option>
<option value="15">15 : İN&#214;N&#220; - KONAK</option>
<option value="16">16 : VATAN MAHALLESİ - &#220;&#199;YOL</option>
<option value="17">17 : UZUNDERE TOPLU KONUTLARI - F.ALTAY AKT.</option>
<option value="18">18 : YEŞİLYURT - KONAK</option>
<option value="19">19 : ŞEHİTLER - KONAK</option>
<option value="20">20 : KOOPERATİF EVLERİ - KONAK</option>
<option value="21">21 : HALİL RIFAT PAŞA - KONAK</option>
<option value="23">23 : UZUNDERE - KONAK</option>
<option value="24">24 : KAVACIK - F.ALTAY AKT.</option>
<option value="25">25 : OYUNLAR K&#214;Y&#220; - F.ALTAY AKT.</option>
<option value="27">27 : &#199;AMLIK - KONAK</option>
<option value="28">28 : PAYAMLI - G&#220;ZELBAH&#199;E</option>
<option value="29">29 : KADRİYE MAH. - KONAK</option>
<option value="30">30 : KAYNAK - KONAK</option>
<option value="32">32 : &#199;İMENTEPE SİTESİ - KONAK</option>
<option value="33">33 : KADİFEKALE - KONAK</option>
<option value="34">34 : ESENTEPE - KONAK</option>
<option value="35">35 : BALLIKUYU - KONAK</option>
<option value="36">36 : ŞİRİNYER AKTARMA - KONAK</option>
<option value="39">39 : İSMETPAŞA MAH. - KONAK</option>
<option value="42">42 : &#199;INARTEPE - KONAK</option>
<option value="44">44 : MERSİNPINAR - KONAK</option>
<option value="45">45 : G&#220;LTEPE - KONAK</option>
<option value="46">46 : &#199;OBAN&#199;EŞME - KONAK</option>
<option value="53">53 : MTK ALTINDAĞ - HALKAPINAR METRO</option>
<option value="54">54 : OTOGAR - KEMER AKT.</option>
<option value="57">57 : ALTINDAĞ - KEMER AKT.</option>
<option value="58">58 : KANDERE - KEMER AKT.</option>
<option value="59">59 : BORNOVA METRO - KEMER AKT.</option>
<option value="60">60 : PINARBAŞI - KEMER AKT.</option>
<option value="63">63 : EVKA3 METRO - KONAK</option>
<option value="64">64 : AYAKKABICILAR SİT. - KEMER AKT.</option>
<option value="67">67 : PINARBAŞI - EVKA3 METRO</option>
<option value="70">70 : ŞİRİNYER AKTARMA - HALKAPINAR METRO</option>
<option value="72">72 : İŞ&#199;İEVLERİ - KONAK</option>
<option value="74">74 : YENİG&#220;N MAH. - ŞİRİNYER AKTARMA</option>
<option value="77">77 : NAFİZ G&#220;RMAN - HALKAPINAR METRO 2</option>
<option value="78">78 : YAMANLAR - HALKAPINAR METRO 2</option>
<option value="80">80 : BOZYAKA - HALKAPINAR METRO</option>
<option value="82">82 : SİTELER - F.ALTAY AKT.</option>
<option value="84">84 : SALİH OMURTAK - &#220;&#199;YOL METRO</option>
<option value="89">89 : CENNETOĞLU - &#220;&#199;YOL METRO</option>
<option value="90">90 : GAZİEMİR - HALKAPINAR METRO</option>
<option value="92">92 : FUAR İZMİR - &#220;&#199;YOL METRO</option>
<option value="102">102 : ALPASLAN MAH. - HALKAPINAR METRO</option>
<option value="104">104 : TINAZTEPE - KONAK</option>
<option value="105">105 : &#199;AMLIKULE - KONAK</option>
<option value="107">107 : ESBAŞ AKTARMA - KEMER AKTARMA</option>
<option value="108">108 : ESERKENT - &#220;&#199;YOL METRO</option>
<option value="111">111 : NALD&#214;KEN - EVKA3 METRO</option>
<option value="114">114 : EVKA 3 - EVKA3 METRO</option>
<option value="117">117 : KAVAKLIDERE - KEMER AKTARMA</option>
<option value="119">119 : ALTINDAĞ - BORNOVA METRO</option>
<option value="121">121 : BOSTANLI İSKELE - KONAK</option>
<option value="123">123 : ŞİRİNEVLER - &#199;İĞLİ AKTARMA</option>
<option value="124">124 : ALİ FUAT ERDEN - &#220;&#199;YOL METRO</option>
<option value="125">125 : MUSTAFA KEMAL MAH - HALKAPINAR METRO2</option>
<option value="126">126 : CUMHURİYET MAH. - KARŞIYAKA</option>
<option value="128">128 : EGEKENT2 - EGEKENT AKTARMA</option>
<option value="135">135 : DOĞAN&#199;AY - KARŞIYAKA</option>
<option value="136">136 : &#214;RNEKK&#214;Y - KARŞIYAKA</option>
<option value="137">137 : YAMANLAR - KARŞIYAKA</option>
<option value="140">140 : &#214;RNEKK&#214;Y - HALKAPINAR METRO2</option>
<option value="147">147 : POSTACI - HALKAPINAR METRO2</option>
<option value="148">148 : ONUR MAH. - HALKAPINAR METRO2</option>
<option value="149">149 : KAKLI&#199; - &#199;İĞLİ AKTARMA</option>
<option value="152">152 : GAZİEMİR - KONAK</option>
<option value="153">153 : &#199;AMKULE - KEMER AKTARMA</option>
<option value="154">154 : ALTINDAĞ - HALKAPINAR METRO</option>
<option value="156">156 : SAĞLIK OCAĞI - &#220;&#199;YOL METRO</option>
<option value="157">157 : AKTEPE MAHALLESİ - KONAK</option>
<option value="167">167 : BAL&#199;OVA KABRİSTAN - F.ALTAY AKTARMA</option>
<option value="168">168 : EVKA 4 - HALKAPINAR METRO</option>
<option value="169">169 : BAL&#199;OVA - KONAK</option>
<option value="171">171 : TINAZTEPE - KONAK</option>
<option value="172">172 : GAZİEMİR SEMT GARAJI - KEMER AKTARMA</option>
<option value="176">176 : DEMİRCİK&#214;Y - ADATEPE</option>
<option value="177">177 : KAYNAKLAR - ADATEPE</option>
<option value="193">193 : YURTOĞLU - KONAK</option>
<option value="197">197 : NAFİZ G&#220;RMAN - KARŞIYAKA</option>
<option value="200">200 : MAVİŞEHİR AKTARMA - HAVALİMANI</option>
<option value="202">202 : CUMHURİYET MEYDANI - HAVALİMANI</option>
<option value="204">204 : BORNOVA METRO - HAVALİMANI</option>
<option value="209">209 : ZEYTİNALANI - F.ALTAY AKTARMA</option>
<option value="214">214 : EVKA3 METRO - KEMER</option>
<option value="221">221 : ŞEMİKLER - KARŞIYAKA İSKELE</option>
<option value="222">222 : ŞEMİKLER - KARŞIYAKA İSKELE</option>
<option value="224">224 : CENNET&#199;EŞME - KONAK</option>
<option value="227">227 : ORGANİZE SANAYİ - BOSTANLI İSKELE</option>
<option value="229">229 : YAKA KENT MAHALLESİ - BOSTANLI İSKELE</option>
<option value="233">233 : ESBAŞ AKTARMA - KONAK</option>
<option value="240">240 : Z&#220;BEYDE HANIM MAH. - HALKAPINAR METRO2</option>
<option value="247">247 : EVKA 6 - &#199;İĞLİ AKTARMA</option>
<option value="249">249 : EVKA 4 - KEMER</option>
<option value="251">251 : H.PINAR METRO - KONAK</option>
<option value="252">252 : H.PINAR METRO2 - KONAK</option>
<option value="253">253 : H.PINAR METRO - KONAK</option>
<option value="255">255 : &#220;&#199;YOL METRO - H.PINAR METRO</option>
<option value="258">258 : ONUR MAH. - KARŞIYAKA</option>
<option value="267">267 : PINARBAŞI - BORNOVA METRO</option>
<option value="268">268 : DOĞANLAR - BORNOVA METRO</option>
<option value="277">277 : OTOGAR - TINAZTEPE</option>
<option value="285">285 : EVKA 1 - KONAK</option>
<option value="290">290 : BOSTANLI İSKELE - TINAZTEPE</option>
<option value="295">295 : HARMANDALI - EGEKENT AKTARMA</option>
<option value="302">302 : OTOGAR - KONAK</option>
<option value="304">304 : TINAZTEPE-KONAK</option>
<option value="305">305 : 2. İN&#214;N&#220; MAH. - F.ALTAY AKTARMA</option>
<option value="311">311 : İNCİRALTI - F.ALTAY AKTARMA</option>
<option value="313">313 : YENİ MEZARLIK - BORNOVA METRO</option>
<option value="314">314 : EVKA 3 - BORNOVA METRO</option>
<option value="315">315 : KARA&#199;AM - EVKA3 METRO</option>
<option value="316">316 : BEŞYOL - EVKA3 METRO</option>
<option value="317">317 : KAVAKLIDERE - EVKA3 METRO</option>
<option value="320">320 : BADEMLER - FAHRETTİN ALTAY</option>
<option value="321">321 : &#199;AMLI - F. ALTAY AKT.</option>
<option value="326">326 : MUSTAFA KEMAL MAH. - KARŞIYAKA</option>
<option value="328">328 : BORNOVA METRO - SALHANE AKTARMA</option>
<option value="329">329 : G&#220;ZELTEPE - &#199;İĞLİ AKTARMA</option>
<option value="335">335 : DOĞAN&#199;AY - HALKAPINAR METRO 2</option>
<option value="338">338 : BORNOVA METRO - SALHANE AKTARMA</option>
<option value="342">342 : EGEKENT - &#199;İĞLİ AKTARMA</option>
<option value="344">344 : EVKA 2 - &#199;İĞLİ AKTARMA</option>
<option value="346">346 : EVKA 5 - EGEKENT AKTARMA</option>
<option value="348">348 : BORNOVA METRO - KEMER AKTARMA</option>
<option value="353">353 : GAZİEMİR - TINAZTEPE</option>
<option value="358">358 : HURDACILAR SİTESİ - BORNOVA METRO</option>
<option value="359">359 : R.ŞEVKET İNCE MAH. - SALHANE AKTARMA</option>
<option value="361">361 : BAHRİYE &#220;&#199;OK - KARŞIYAKA İSKELE</option>
<option value="365">365 : KAYADİBİ - EVKA3 METRO</option>
<option value="368">368 : &#220;MİT MAH. - BORNOVA METRO</option>
<option value="374">374 : İZKENT - KONAK</option>
<option value="390">390 : TINAZTEPE - BORNOVA METRO</option>
<option value="412">412 : TINAZTEPE - YERLEŞKE</option>
<option value="415">415 : TINAZTEPE - BORNOVA METRO</option>
<option value="417">417 : TINAZTEPE - KOŞU AKTARMA</option>
<option value="418">418 : ŞİRİNYER AKTARMA - H.PINAR METRO</option>
<option value="423">423 : ŞİRİNEVLER - BOSTANLI İSKELE</option>
<option value="428">428 : EGEKENT 2 - BOSTANLI İSKELE</option>
<option value="429">429 : G&#220;ZELTEPE - BOSTANLI İSKELE</option>
<option value="430">430 : YAKA KENT MAH. - BOSTANLI İSKELE</option>
<option value="435">435 : K&#214;RFEZ EVLERİ - BOSTANLI İSKELE</option>
<option value="441">441 : &#199;INARTEPE - ŞİRİNYER AKTARMA</option>
<option value="442">442 : ATAT&#220;RK MAHALLESİ - BOSTANLI İSKELE</option>
<option value="443">443 : EGEKENT - BOSTANLI İSKELE</option>
<option value="445">445 : EVKA 2 - BOSTANLI İSKELE</option>
<option value="446">446 : EVKA 5 - BOSTANLI İSKELE</option>
<option value="447">447 : EVKA 6 - BOSTANLI İSKELE</option>
<option value="449">449 : İZYUVA-SARAYKENT - EVKA3 METRO</option>
<option value="465">465 : TINAZTEPE - KONAK</option>
<option value="466">466 : ŞİRİNYER AKTARMA - KONAK</option>
<option value="476">476 : TINAZTEPE - ŞİRİNYER AKTARMA</option>
<option value="477">477 : NAFİZ G&#220;RMAN - HALKAPINAR METRO2</option>
<option value="480">480 : &#220;&#199;KUYULAR İSKELE - İNCİRALTI</option>
<option value="484">484 : YEŞİLBAĞLAR - KONAK</option>
<option value="485">485 : GAZİEMİR SEMT GARAJI - ŞİRİNYER AKTARMA</option>
<option value="486">486 : İNCİRALTI - F.ALTAY AKTARMA</option>
<option value="487">487 : DEMİRK&#214;PR&#220; - KARŞIYAKA</option>
<option value="490">490 : TINAZTEPE - &#220;&#199;YOL</option>
<option value="498">498 : BORNOVA METRO - HALKAPINAR METRO</option>
<option value="501">501 : &#199;İ&#199;EK MAH. - HALKAPINAR METRO</option>
<option value="502">502 : CENGİZHAN - HALKAPINAR METRO</option>
<option value="503">503 : GAZİ MEYDANI - HALKAPINAR METRO</option>
<option value="504">504 : FUAT EDİP BAKSI - HALKAPINAR METRO</option>
<option value="505">505 : &#199;AMKULE - BORNOVA METRO</option>
<option value="510">510 : GAZİEMİR - BAL&#199;OVA</option>
<option value="520">520 : SALİH OMURTAK - &#220;&#199;YOL METRO</option>
<option value="523">523 : UZUNDERE - &#220;&#199;YOL METRO</option>
<option value="524">524 : CENNET&#199;EŞME - &#220;&#199;YOL METRO</option>
<option value="525">525 : E.&#220;. KAMP&#220;S - BORNOVA METRO</option>
<option value="529">529 : YAKAKENT MAH. - &#199;İĞLİ AKTARMA</option>
<option value="543">543 : BOSTANLI İSKELE - H.PINAR METRO</option>
<option value="547">547 : &#199;İĞLİ AKTARMA - BOSTANLI İSKELE</option>
<option value="550">550 : G&#220;NALTAY - KONAK</option>
<option value="554">554 : NARLIDERE - KONAK</option>
<option value="555">555 : OTOGAR - HALKAPINAR METRO</option>
<option value="556">556 : &#199;AMLIK - &#220;&#199;YOL METRO</option>
<option value="560">560 : PINARBAŞI - HALKAPINAR METRO</option>
<option value="564">564 : AYAKKABICILAR SİTESİ - HALKAPINAR METRO</option>
<option value="565">565 : EVKA 4 - BORNOVA METRO</option>
<option value="566">566 : EVKA 4 - BORNOVA METRO</option>
<option value="568">568 : EVKA 4 - BORNOVA METRO</option>
<option value="570">570 : LAKA MAHALLESİ - BORNOVA METRO</option>
<option value="579">579 : YEŞİLYURT - &#220;&#199;YOL METRO</option>
<option value="581">581 : F.ALTAY AKTARMA - HALKAPINAR METRO</option>
<option value="585">585 : EVKA 4 - BORNOVA METRO</option>
<option value="587">587 : LİMONTEPE - KONAK</option>
<option value="588">588 : YENİ &#199;AMLIK - KONAK</option>
<option value="595">595 : 9 EYL&#220;L MAHALLESI - BOSTANLI İSKELE</option>
<option value="596">596 : KATIP &#199;ELEBI &#220;NIVERSITESI - EGEKENT AKTARMA</option>
<option value="599">599 : M.ERENER - HALKAPINAR METRO</option>
<option value="610">610 : FUAR İZMİR - GAZİEMİR SEMT GARAJI</option>
<option value="662">662 : CENGİZHAN - KEMER</option>
<option value="671">671 : TINAZTEPE - F.ALTAY</option>
<option value="676">676 : TINAZTEPE - ŞİRİNYER AKTARMA</option>
<option value="690">690 : TINAZTEPE - F.ALTAY AKTARMA</option>
<option value="699">699 : M.ERENER - KEMER</option>
<option value="701">701 : TORBALI - TEKELİ</option>
<option value="704">704 : YAZIBAŞI TOPLU KONUTLARI - PANCAR AKTARMA</option>
<option value="705">705 : AYRANCILAR - SARNI&#199; AKTARMA</option>
<option value="706">706 : AYRANCILAR - PANCAR AKTARMA</option>
<option value="707">707 : PANCAR AKTARMA - MENDERES</option>
<option value="708">708 : MENDERES - ESBAŞ AKTARMA</option>
<option value="709">709 : DEMİRCİ - PANCAR AKTARMA</option>
<option value="710">710 : YAZIBAŞI - KUŞ&#199;UBURUN AKTARMA</option>
<option value="712">712 : AYRANCILAR - TORBALI</option>
<option value="721">721 : KARAKUYU - TORBALI</option>
<option value="722">722 : YAZIBAŞI - TORBALI</option>
<option value="724">724 : ŞEHİTLER - TORBALI</option>
<option value="725">725 : URLA - F.ALTAY</option>
<option value="727">727 : BAYINDIR - TORBALI</option>
<option value="728">728 : KISIK SANAYİ - SARNI&#199; AKTARMA</option>
<option value="729">729 : ATAK&#214;Y - CUMAOVASI AKTARMA</option>
<option value="730">730 : SEFERİHİSAR - F.ALTAY</option>
<option value="731">731 : &#199;AMTEPE - SEFERİHİSAR</option>
<option value="732">732 : URLA - SEFERİHİSAR</option>
<option value="733">733 : YAĞCILAR - URLA</option>
<option value="734">734 : &#214;ZBEK - URLA</option>
<option value="735">735 : BALIKLIOVA - F.ALTAY</option>
<option value="736">736 : İ.Y.T.E. - F.ALTAY</option>
<option value="737">737 : BARBAROS - URLA</option>
<option value="738">738 : &#199;EŞMEALTI - URLA</option>
<option value="739">739 : BEYLER - SEFERİHİSAR</option>
<option value="741">741 : YAMANLAR K&#214;Y&#220; - KARŞIYAKA</option>
<option value="742">742 : SANCAKLI K&#214;Y&#220; - KARŞIYAKA</option>
<option value="744">744 : FO&#199;A - HATUNDERE AKTARMA</option>
<option value="745">745 : YENİFO&#199;A - Bİ&#199;EROVA AKTARMA</option>
<option value="747">747 : EMİRALEM - MENEMEN AKTARMA</option>
<option value="748">748 : ULUKENT AKTARMA - MENEMEN AKTARMA</option>
<option value="749">749 : EGEKENT 2 - MENEMEN AKTARMA</option>
<option value="750">750 : BAĞARASI - ULUKENT AKTARMA</option>
<option value="751">751 : SASALI - &#199;İĞLİ AKTARMA</option>
<option value="752">752 : BURUNCUK - HATUNDERE AKTARMA</option>
<option value="753">753 : GERENK&#214;Y - Bİ&#199;EROVA AKTARMA</option>
<option value="754">754 : BOZALAN - MENEMEN AKTARMA</option>
<option value="755">755 : S&#220;LEYMANLI - MENEMEN AKTARMA</option>
<option value="756">756 : KOZBEYLİ - MENEMEN AKTARMA</option>
<option value="757">757 : MALTEPE - ULUKENT AKTARMA</option>
<option value="758">758 : &#199;UKURK&#214;Y - MENEMEN</option>
<option value="760">760 : &#199;EŞME-URLA</option>
<option value="761">761 : KARABURUN-URLA</option>
<option value="765">765 : KEMALPAŞA - EVKA3 METRO</option>
<option value="766">766 : ANSIZCA - KEMALPAŞA</option>
<option value="767">767 : HALİLBEYLİ - KEMALPAŞA</option>
<option value="768">768 : VİŞNELİ - KEMALPAŞA</option>
<option value="769">769 : &#199;AMBEL - KEMALPAŞA</option>
<option value="770">770 : SEL&#199;UK - TORBALI</option>
<option value="772">772 : BEŞPINAR - KEMALPAŞA</option>
<option value="775">775 : &#214;ZDERE - CUMAOVASI AKTARMA</option>
<option value="776">776 : DOĞANBEY - CUMAOVASI AKTARMA</option>
<option value="777">777 : DOĞAL YAŞAM PARKI - KARŞIYAKA</option>
<option value="778">778 : &#214;ZDERE - SEFERİHİSAR</option>
<option value="780">780 : B&#220;LB&#220;LDERE - TORBALI</option>
<option value="781">781 : TULUMK&#214;Y - TORBALI</option>
<option value="782">782 : TAŞKESİK - TORBALI</option>
<option value="783">783 : SAĞLIK - TORBALI</option>
<option value="784">784 : DOĞANCILAR - TORBALI</option>
<option value="785">785 : DAĞTEKKE - TORBALI</option>
<option value="786">786 : KARAOT - TORBALI</option>
<option value="787">787 : OSMANLAR - BAYINDIR</option>
<option value="788">788 : HAVUZBAŞI - BAYINDIR</option>
<option value="789">789 : EFEM&#199;UKURU - CUMAOVASI AKTARMA</option>
<option value="790">790 : HİSARLIK - BAYINDIR</option>
<option value="791">791 : &#199;AMLIBEL - BAYINDIR</option>
<option value="792">792 : G&#214;LOVA - CUMAOVASI AKTARMA</option>
<option value="793">793 : BALCILAR - BAYINDIR</option>
<option value="795">795 : &#214;DEMİŞ-TORBALI</option>
<option value="796">796 : BEYDAĞ-&#214;DEMİŞ</option>
<option value="797">797 : KİRAZ-&#214;DEMİŞ</option>
<option value="798">798 : TİRE-TORBALI</option>
<option value="800">800 : MENEMEN AKTARMA - OTOGAR</option>
<option value="802">802 : EGEKENT AKTARMA - KONAK</option>
<option value="804">804 : MENDERES - CUMAOVASI AKTARMA</option>
<option value="805">805 : &#199;AMLIKULE - ŞİRİNYER AKTARMA</option>
<option value="808">808 : CUMAOVASI AKTARMA - ESBAŞ AKTARMA</option>
<option value="810">810 : ATAT&#220;RK MAHALLESİ - EGEKENT AKTARMA</option>
<option value="811">811 : ENGELLİLER MERKEZİ - MONTR&#214;</option>
<option value="814">814 : KISIK SANAYİ - MENDERES</option>
<option value="817">817 : BALAT&#199;IK - &#199;İĞLİ AKTARMA</option>
<option value="818">818 : ESBAŞ AKTARMA - ŞİRİNYER AKTARMA</option>
<option value="820">820 : HARMANDALI - BOSTANLI İSKELE</option>
<option value="821">821 : MAVİŞEHİR AKT. - KARŞIYAKA İSKELE</option>
<option value="823">823 : &#220;&#199;YOL - GAZİEMİR SEMT GARAJI</option>
<option value="825">825 : EVKA 6 - &#199;İĞLİ AKTARMA</option>
<option value="826">826 : GAZİ MAHALLESI - ULUKENT AKTARMA</option>
<option value="827">827 : ULUKENT AKTARMA - BOSTANLI İSKELE</option>
<option value="828">828 : SARNI&#199; - GAZİEMİR SEMT GARAJI</option>
<option value="829">829 : SEFERİHİSAR - CUMAOVASI AKTARMA</option>
<option value="835">835 : BERGAMA - ALİAĞA AKTARMA</option>
<option value="836">836 : KINIK-BERGAMA</option>
<option value="837">837 : DİKİLİ-ALİAĞA AKTARMA</option>
<option value="838">838 : ŞİRİNYER AKTARMA - KONAK</option>
<option value="847">847 : BAYRAKLI EVLERİ - KARŞIYAKA</option>
<option value="848">848 : KOYUNDERE - ULUKENT AKTARMA</option>
<option value="850">850 : SEYREK - ULUKENT AKTARMA</option>
<option value="853">853 : EGEKENT AKTARMA - KARŞIYAKA İSKELE</option>
<option value="866">866 : BUCA TOPLU KONUTLARI - ŞİRİNYER AKTARMA</option>
<option value="871">871 : İŞ&#199;İEVLERİ - ŞİRİNYER AKTARMA</option>
<option value="874">874 : İZKENT - ŞİRİNYER AKTARMA</option>
<option value="875">875 : EVKA 1 - ŞİRİNYER AKTARMA</option>
<option value="876">876 : ŞİRİNKAPI - ŞİRİNYER AKTARMA</option>
<option value="877">877 : UZUNDERE TOPLU KONUTLARI - GAZİEMİR SEMT GARAJI</option>
<option value="878">878 : TINAZTEPE - ŞİRİNYER AKTARMA</option>
<option value="879">879 : F.ALTAY AKT. - GAZİEMİR SEMT GARAJI</option>
<option value="887">887 : SARNI&#199; AKTARMA - KONAK</option>
<option value="889">889 : SARNI&#199; - SARNI&#199; AKTARMA</option>
<option value="891">891 : EVKA 7 - GAZİEMİR SEMT GARAJI</option>
<option value="910">910 : GAZİEMİR - KONAK</option>
<option value="916">916 : OYAK SİTESİ - &#220;&#199;KUYULAR İSKELE</option>
<option value="920">920 : &#199;İĞLİ - KONAK</option>
<option value="930">930 : BORNOVA - KONAK</option>
<option value="940">940 : BUCA - KONAK</option>
<option value="945">945 : ESENTEPE - &#220;&#199;KUYULAR İSKELE</option>
<option value="950">950 : NARLIDERE - KONAK</option>
<option value="969">969 : BAL&#199;OVA - F.ALTAY AKTARMA</option>
<option value="971">971 : NARBEL - F.ALTAY AKTARMA</option>
</select>
# A lot of stuff...
</body>


##################
# BeautifulSoup4 #
##################
<body>
<div>
<!--#top-navigation:start -->
<section id="top" role="navigation">
<div class="only-mobile">
<div class="container">
<div class="row">
<div class="col-xs-6 unprintable">
<a class="inBlock push-top-10" href="/en/Home" title="English">
<i class="icon-language"><img src="/Content/img/eng.png"/></i><span>English</span>
</a>
</div>
<div class="col-xs-6 unprintable"><a class="call-us push-top-10 pull-right" href="tel:+902323200320"><i class="sprite sprite-icon-phone"></i> <span class="title pull-left"><strong>320 0 320</strong></span></a></div>
</div>
</div>
</div>
<nav class="navbar only-desktop">
<div class="container">
<div class="collapse navbar-collapse content-nav-top pull-left-0" id="top-nav">
<ul class="nav navbar-nav content-nav">
<li>
<a href="/en/Home" title="English">
<i class="icon-language"><img src="/Content/img/eng.png"/></i><span>English</span>
</a>
</li></ul></div></div></nav></section></div></body>
<小时/>

我请求的网络平台不使用 JSON 请求或 Javascript 在页面加载后生成选项。这里的问题是为什么 BeautifulSoup4 会删除其中一些代码

<小时/>

环境

  • python 3.5.1
  • 请求 2.10.0
  • beautifulsoup4 4.4.1

最佳答案

您可能做错了什么,但我可以通过文本获取该选项:

import requests
from bs4 import BeautifulSoup


url = "http://www.eshot.gov.tr/tr/OtobusumNerede/290"
response = requests.get(url)

soup = BeautifulSoup(response.content, "html.parser")
print(soup.find("option", text=lambda text: text and "NARLIDERE" in text))

打印内容:

<option value="5">5 : NARLIDERE - ÜÇKUYULAR İSKELE</option>

而且,如果我使用 soup.select(".chosen-select option"),我会获得所有选项。

关于python - 我请求的页面不代表与BeautifulSoup4相同的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37366551/

相关文章:

python - 使用 Beautifulsoup 进行数据抓取。找错 body

Python bs4 : How to Repeat “For” Loop with a Different Scraped Page if a Certain Condition is Met?

java - 使用Jsoup提取div中的表格数据

php - 从 Python 调用 PHP

python - 从 HTML 标签和纯文本中提取文本(不包含在标签中)

python - 返回我的错误是 `Access denied for user ' root' @'localhost'(使用密码 : YES )`. Even when I use ` mike`

python - 如何切换字符串中的文本?

Android Python 获取gps状态

python - 如何将静态位图帧从 GIF 提供给 wxpython 形状帧

python - 开始学习新的 Python 3.5 Asyncio(协程)的好地方 | Discord.py BOT 崩溃