BeautifulSoup,一碗美丽的汤,一个隐藏的大坑-创新互联

 python 网络爬虫常用的4大解析库助手:re正则、etree xpath、scrapy xpath、BeautifulSoup。(因为etree xpath和scrapy xpath用法上有较大的不同,故没有归为一类),本文来介绍BeautifulSoup一个少为人知的坑,见示例:
        例1(它是长得不一样, 柬文勿怪):
                    content = """
    
         
          

ចំណែកឯប្រេងដូងវិញ មានផ្ទុកអាស៊ីតខ្លាញ់អូមេហ្គា៣ ដែលល្អបំផុតសម្រាប់បំផ្លាញ់មីក្រុបដែលមានវត្តមាននៅក្នុងតំបន់រន្ធគូថ ហេតុនេះហើយទើបការឆ្លងមេរោគ និងរមាស់ត្រូវបានទប់ស្កាត់។



ចំណាំ៖
ប្រសិនបើអ្នករមាស់ខ្លាំង មានការឈឺចាប់ ហើយមានឈាមហូរទៀតនោះ ត្រូវប្រញាប់ទៅជួបជាមួយគ្រូពេទ្យភ្លាម៕

""" soup = BeautifulSoup(content) img_lst = [] inner_src_list = soup.find_all('img', src=True) for i, src in enumerate(inner_src_list): url=src["src"].replace("&ssl", "&ssl") print(url) print(soup.prettify()) # content = soup.prettify() # src的打印结果一样 img_tags = soup.find_all('img') for img in img_tags: print(img['src']) 控制台打印输出如下: ![](/upload/otherpic34/120424.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) ![](/upload/otherpic34/120431.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) ![](/upload/otherpic34/120432.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 怎么会这样:文本中的‘amp;’字符怎么消失了? 解释如下:BeautifulSoup在提取src时内部会自动把符号‘&’转义成'&',【网页解析有时不一定要眼前的直觉】【不仅bs如此, etree xpath和scrapy xpath也是一样】 例2: 文本同上 soup = BeautifulSoup(content) img_lst = [] inner_src_list = soup.find_all('img', src=True) # 注意比较 for i, src in enumerate(inner_src_list): url=src["src"].replace("&ssl", "&ssl") print(url) inner_src_list = soup.find_all('img', attr={'src':True}) # 注意比较 for i, src in enumerate(inner_src_list): url=src["src"].replace("&ssl", "&ssl") print(url) 这里不作打印了,直接说明现象,第一个print正常打印,第二个print输出为空,为什么? 解释如下: 第一个find_all,把src=True视为存在src属性的img标签,第二个find_all,把attr={'src', True}视为存在src且属性值为True的img标签,所以结果可想而知! 上述如有不正之处,欢迎指出,谢谢!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

成都创新互联公司是一家专注于成都网站建设、网站设计与策划设计,善左网站建设哪家好?成都创新互联公司做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:善左等地区。善左做网站价格咨询:18982081108
分享名称:BeautifulSoup,一碗美丽的汤,一个隐藏的大坑-创新互联
浏览路径:http://myzitong.com/article/dhpcph.html