我有一个beautifulsoup4刮刀,可以从页面中提取html。但是像这样印刷的那个:
print str(soup)[:1000]
print '....'
print str(soup)[-100:]
给出:
<html><head></head><body>í}ÛvÛ8¶à»¿¥êÉS"u³ìȶœ•ØN—ÏÊËÉÔôJey�$$1æx±¬Jüóó2�çuûÎGœ/™½�/’e;Ž]g•º:& `ccccßpÛÿáèíáû¾;&³Øu6öд�ö„8199&;Ÿöñ;1Eã†çkŸ#HÓl6žŠ?;
âPo:n0¯q@öøÈ<Ëž|Ò´âzàÖ‚ótœµŒH "À¡,+Ôšr‚Œ6¿þÐ:9Þ„â�Pƒ/¯i„ìϵð��
þï¾ËbJÌ
#�I<Ñž6”¤Yû=±/Æ�ÿ¥}x®ún@cÛpXƒ˜¾3Ê��™5e…’uÙ¸qa³yà‡±’yn[ñll±
ÛdiÛ³c›:ZdR‡�{
Ò©‚
v-ߥ¶wvÁB{²P }ƒmooõ˜Õ�0£;éo�Œ§ëwÙ`Ç
....
ó¯ÿ×''9¦!ùHÌ|�íwD~Yر½s2g܈â…âcкYÈ&ãFÇŒ¢
þ>ë¥äÈK˜Ôó=Ú˜èÌçsÝä˜è¦ïvLßq˜Û¾uÄéÌóÏú�*¨hT5“˜Ø@†‰�Èvé”u.5ñMV1¡ø®Ã?�”邾Aè,Œã†?ÝEH
m!ÍJÌXöH]~$ŽR`]²Jˆ«PáÍQ@#3îVHf»ÓŽÄRÒLóü>4Ûd1³4“…ÔµM-ô#6õ+ÏRIÒ¢8±l_ë
Ï{Ör¾ÛÈï=“ðŠ1></bgmªy*ë
”Âky;_x·?
Ó+[”nÚ‘kûÓ}kº¨´!`h></body></html>
有谁知道如何将该文本转换为清晰易读的内容?或者任何人都可以解释发生了什么。
注意: 我正在抓的网站是:http://www.caeden.com/collections/linea_no_2/?variant=CAE20101
编辑1。
print soup.prettify()
给出:
...
�¥n˜‘¼ó’pDkù‹‹“^F,ªÌ°jå;?h£T�‹Þ‰û?¾Ráu)úÛ+YaµUx\4#ïy×Å
ŽÖKí°ú‚
$HÞ–ñ–õvIìýºp^ýó¬‘s†åa¥Z
ˆNž›NÒ©OmŽKþô8L\óÀÇ2S.âcÍ•"A¦â,D4ƒ
+¹t6~Õ¹øØÞ&çÏ×…,®ôp•¦ç¡ë$à½Éœ_À´æ{€˜‹½PC»iè‚uaKª]´Ü€¬s§&(ÉƤ~nRç¦LåtÁÜÒ°ª¦Ð-W¸ßåÌõ
¬¯¿U e¾Þî�€zg Da+”nüêàïÞ”]yçF@›Ã©pcüËÝǸ!¢Õ;µ78Š_þǯ aÅ…�âW¸òkÂXu¿¤øo™ü*P–®«¿ì¥•_“zå
+Å/måF~›ì âKñËÞ•¹!¦Õµ°¥wl~¸j/ë¿ü•�_ÂâÝŸâW{èF ®;œK£¸Ö¨ÉZ¹OÃýÄ.5tYôç^FhÃîvűÝÑ&¯þ‰+E½þZjßúÆ`Þ–]·õ”Þ�”]XߦuóY5ß°5óÍY1«æºÃÒ»
´»;ÒM÷Ù뺛ú
î4yCet«™I©d éá
J–>â~&oÌkfo5D@Ä$âÙw“Èáü¯5ikmÖž·�vض?™“ÖD�h¿m‹°üGΈ¿Ž’üÛŸ +¨eýÄݲO·²o*õ
<kÙrÚÔŸfüæö¡£þ±ˆ‰�iiúÍ´ôÝdc[âÏÈ9‚Ú0<9ª¸?qô]žqýÌ;ÚmÉ*gï?…#maîž[ kn±í£p¥ÁÒѱèv¨âhš�qÊb™+x¶|k§¯¨Í="" ÿûî‡#~="">
¼J©À±˜>c×g-¤ÊMka:†»ho®Îh7%›ífì8n ©ÉTqXØaÎøÝeg¢q·d ~
šÛG[[€f«i:&wTú}èʽ½ÝA¿?`þ=3]”�7tÊø¡·í£Ì3Ç•�|¢ÄQùz
¯·àO…�–<¢åŸRÙ@‰9ŽúOMcTé ›�b žÄíŽz�-œô bÌ=wŒÚq·•Þî''6À¢TÍrxˆø1ˆ=Ù8[:霊’ü
¾¸ÁÜU�¥Œá"
±FGŽ•Sô�i´šÖn!ñ?‘p1¨ÅÆÔÆ[@I·�IüðÔ8Ž÷©ä¦šø[Qÿ(Þ`Lr½@j-CSrd0;ôðixí`äOòTʺ'yØGÝ'%ÈGb)ô>@‚ôpšÌ˜É�ãâw’î_]Ð7¨Jþ+î/U1ìlzoaÂÅðåìôùùóWqœÆ8ÈBä[‡¤$?’ÃÌòB‘±È¶ê¾‘R\å{4œaý®+‹+Iâ|‰º3Ö-¦þ˜„¤;úÛÓú»]ã`§;Ôé^w`è;Ã]mo—í÷´Šâ¼\oØ?ØÝé
÷÷+rP]ûtºWÌÉåUwv÷•¡Êöv»z²ß§Ú`Gë©1ôõÞ Ëvz{ÆN
†îŒK,É„ZãoŽ¤þ™¥úê (ÇÈE\.ûd§o©ÿÒÊÈ nka(Núµ{Ž‰`Ãêøܵ†‘±<уûT‹9Óp™~øa;<¾%Ñ5(_Wð½ùá(Ék\–µ¶ã¤A€í;P€K x BÇ�ê{fX Í•ÇÖAÙÜét^‚Ô„!3Ë4"j&ábˆp>˜ÅòL¥†ñ³¼ä;–™ßjž¿þéL¬&¿ä’˜fÚIc«äo®‹�±Oc~Fxey‹
šÎ4“û$nVŠã£ìBcÎü+d„žL N¥ù³åpvy<¥×íu‡Íí£\5æ„´
UåQÀ� Á¾�9³nXCñ«\�”ÛS\µw˜9Ý!ÇtÒîå5ÊlYåö¢„»± )àŸâäýa)¾óG 8?qÖY‡Ö+K}}jïý�¨L\tWüÒÔÖ¢å+wñÍÒùY´„§Åã8Χ刈;Š~w]ÿÊ]ó_Š®ñÝNß,eÓ+§$qI“üJSÍî$RÅ]¬Ím•‚6:XšÛ�³Yß™ºµ‡Õ7m¡«er§Ò$3—ÀUêƒkY¸÷7�ù
ÝOQx'Å?þ=bþRåΙÎZŸlÓù‘Û¸‡¾Û-ë „´cãŠ7¿OºüC93"™Õf
zÐÊP«²Ûc½Ï£%^>&ŸnŽ²t‚T•-dmØË×â¥q„__¿y{ñúÕéËCÝMõ‰ó·ˆï·“6&1aX„æÄÄ^næCPlÅÇqe¡•ÀTÝ‚±tøéY/òõI/¢¾ßR¹œÎ1oâ×b#†øJ¢^‘‹s®pG�Üf·¶_N›æ„LfwÞõûD¶� ›ŠÝy›…kò�B=¼æ3íø3$·šÂ&k’Q¦5ËÕù–~D2tu×"OI’ñP<ò9ˆ¶+�ªó'Lqc8EË8ÌŸ³ÎpØëѽƒ=m²{0Ø7Øžc¹w0Deü(‡pPÍÍ2¤mt$‘zO’GÛ$Hm‹íV¥]Q1ð
V„î[h—ƒýð1�
½jãNÚ’�Å]„x�
÷¢}²õÿÁ"`䣬
</kÙrÚÔŸfüæö¡£þ±ˆ‰�iiúÍ´ôÝdc[âÏÈ9‚Ú0<9ª¸?qô]žqýÌ;ÚmÉ*gï?…#maîž[>
</pšÌu¬´7w\eÔóòx©ÞÌ“>
</h×À:'•<#¨ô�†„j–o’á>
</gx Á&4²beŠ‚t±|§º"&¿¹£¦=Ù’¬ù–‘-ò¢[¯ìæÙn>
</hõýaªg>
</wqØÝ2*öðòÈ:—êšæ:ä>
</c3e¼ùš¶Ž;€²>
</body>
</html>
答案 0 :(得分:0)
在这种情况下,您正在做的是在终端中不显示不支持文本的字符。您需要做的是打开文本或理想的html文件并编写内容。这是另一种解决方案:
result = open('result.html', 'w')
result.write(soup.prettify())
result.close()