zoukankan      html  css  js  c++  java
  • Python 爬虫 解决escape问题

    爬取某个国外的网址,遇到的编码问题 ,在前段页面 返回的数据是    

    亞洲私人珍&#34255

    ;賣,令仝好分享他為此

    所傾注的心血與熱愛。

    爬虫源码是:

    url = 'http://www.bonhams.com/auctions/24026/lot/120/?category=list&length=100&page=1'
    
    try:
        result = requests.get(url=url).text
    except:
        result = requests.get(url=url).text
    if 'javascript">setTimeout' in result:
        result = requests.get(url=url).text

    如何处理?

      
    url = 'http://www.bonhams.com/auctions/24026/lot/120/?category=list&length=100&page=1'
    
    try:
        result = requests.get(url=url).text
    except:
        result = requests.get(url=url).text
    if 'javascript">setTimeout' in result:
        result = requests.get(url=url).text

    from HTMLParser import HTMLParser result_HTMLParser = HTMLParser().unescape(result) print result_HTMLParser

    打印原始网页代码

    发现编码格式正常

    html = '<abc>'
    用Python可以这样处理:
    
    import HTMLParser
    html_parser = HTMLParser.HTMLParser()
    txt = html_parser.unescape(html) #这样就得到了txt = '<abc>'
    如果还想转回去,可以这样:
    
    import cgi
    html = cgi.escape(txt) # 这样又回到了 html = '&lt;abc&gt'
  • 相关阅读:
    文件操作
    需特别注意的地方(关于内存机制)
    数据类型的汇总和功能
    python之http请求及响应
    8.centos7进入单用户
    Android Studio使用总结
    django之数据库models
    django之错题集
    python之mysql安装配置
    python之pycharm的debug调试使用
  • 原文地址:https://www.cnblogs.com/xuchunlin/p/8573303.html
Copyright © 2011-2022 走看看