from lxml import etree報錯

寫一個小型的爬蟲懶得用scrapy(主要是scrapy不太好裝...),直接使用了requests請求,但是要解析數據,那麼問題來了


問題1:

  • 使用的是python3.7的環境,解析數據要用xpath,系統是mac

    pip install lxml

    一分鐘後。。。下載成功

  • 開始寫代碼,

    from lxml import etree

    掛了...,lxml中竟然沒有etree模塊

  • 換個方法

    from lxml import html
    et = html.etree

    依然掛了...

解決:

  • 開始找解決辦法
    百度中。。。,找了一堆的方法,全部失敗
    google中。。。,又找了一堆的方法,全部失敗
    即將放棄,準備切換python版本,開始水羣。。。,羣裏大佬給了個阿里源的地址,恍然大悟!!!

    pip install -i https://mirrors.aliyun.com/pypi/simple/ lxml 
    -----------
    
    from lxml import html
    et = html.etree
    print(et.HTML(response.content))

    終於突破了這個問題

問題2:

  • 解析過後發現有些需要整個代碼塊轉爲字符串

    import xml.etree.ElementTree as ET
    print(ET.tostring(dom代碼塊, encoding='utf8'))
  • 數據是有了,但是不太對,中文出來的是十六進制的數據,沒法繼續了啊
    百度/Google,我又來了。。。

解決:

print(str(ET.tostring(dom代碼塊, encoding='utf8'), 'utf-8'))

參考鏈接:時光不寫博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章