qq_40805263 2018-11-12 09:49 采纳率: 41.7%
浏览 406

python的爬取html网页的疑问

 import requests
import xml.etree.ElementTree as ET
from xml.parsers.expat import ParserCreate

class DefaultSaxHandler(object):
    def __init__(self, provinces):
        self.provinces = provinces


    def start_element(self, name, attrs):
        pass

    def end_element(self, name):
        pass


    def char_data(self, text):
         if text!="a":
             text=text
             self.provinces.append(text)

def get_province_entry(url):

    content = requests.get(url).content.decode('gb2312')

    start = content.find('<table height="22" cellSpacing="0" cellPadding="0" width="710" border="0">')
    end = content.find('<hr size="1" width="520">')
    content = content[start:end].strip()

    provinces=[]

    handler = DefaultSaxHandler(provinces)

    parser = ParserCreate()
    parser.StartElementHandler = handler.start_element
    parser.EndElementHandler = handler.end_element
    parser.CharacterDataHandler = handler.char_data
    parser.Parse(content)

    return provinces

provinces = get_province_entry('http://www.ip138.com/post/')
print(provinces)

我的目标是爬取选中区域的文本值,但是出现错误

 ExpatError                                Traceback (most recent call last)
<ipython-input-20-14237f21aa15> in <module>()
     40     return provinces
     41 
---> 42 provinces = get_province_entry('http://www.ip138.com/post/')
     43 print(provinces)

<ipython-input-20-14237f21aa15> in get_province_entry(url)
     36     parser.EndElementHandler = handler.end_element
     37     parser.CharacterDataHandler = handler.char_data
---> 38     parser.Parse(content)
     39 
     40     return provinces

ExpatError: undefined entity: line 6, column 55

不知道哪里出错了

  • 写回答

1条回答

  • dabocaiqq 2018-11-12 15:42
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题