python pyquery 解析html数据(2)

版权声明:转载请注明出处 https://blog.csdn.net/qq_36025814/article/details/90060535

                                                     python pyquery 解析html数据(2)

1、PHP实现:php解析html类库simple_html_dom(2)

2、python 执行效果

3、python代码

from pyquery import PyQuery as pq

#自定义一段HTML
def getHtml():
    html =  "<html>" \
                "<head>" \
                    "<title>大家好</title>" \
                "</head>" \
                "<body>" \
                    "<!-- 文章START -->" \
                    "<div class='whole'>" \
                        "" \
                        "<!-- 标题START -->" \
                        "<div class='head'>" \
                            "<h2>美好的一天</h2>" \
                            "<div>" \
                                "<span>御风剑士</span>" \
                                "<span>2019-04-24</span>" \
                            "</div>" \
                        "</div>" \
                        "<!-- 标题SEND -->" \
                        "" \
                        "<!-- 内容START -->" \
                        "<div class='content'>" \
                            "<a href='http://www.***.com'>" \
                                "<img src='http://images.***.com'/>" \
                            "</a>" \
                            "<div class='info'>" \
                                "回来的时候换了一条路。那里进过广场的公园。一如既往的有好多手机贴膜的小贩还有只有一个板凳面前一张纸卖电话卡的小贩。" \
                            "</div>" \
                            "<div class='info'>" \
                                "我看见石榴花开了,红的黄的真的特别的好看。月季依然开得很娇艳。" \
                            "</div>" \
                            "<div class='info'>" \
                                "因为昨夜下雨的原因吗,感觉空气好新鲜,身心愉悦脚步也很轻快。尽管没有太阳,但是我知道,今天又是美好的一天,也是生命中最年轻的一天。" \
                            "</div>" \
                        "</div>" \
                        "<!-- 内容END -->" \
                                "" \
                    "<div>" \
                    "<!-- 文章END -->" \
                "</body>" \
            "</html>"
    return html

#k开始执行
html = getHtml()    #获取HTML内容
d = pq(html)        #加载HTML内容

#获取最外面的div whole
articleObj = d.find('body div.whole')

#定位到div.whole里的标题
title = articleObj.find('div.head h2').text()

#获取作者、时间
author = articleObj.find('div.head div span').eq(0).text() #索引为0,同级div标签下的第1个span
time = articleObj.find('div.head div span').eq(1).text()   #索引为0,同级div标签下的第1个span

#或者用items()获取到数组然后循环出来也行
"""
authTimeArr = []
authTime = articleObj.find('div.head div span').items()
for value in authTime:
    authTimeArr.append(value.text())
author = authTimeArr[0]
time = authTimeArr[1]
"""

#获取div.content内容里的数据
contentObj = articleObj.find('div.content')

#a链接,图片 我们要获取的是标签上的 href 属性
aHref = contentObj.find('a').attr('href')

#图片路径,获取img标签的src属性
imgSrc = contentObj.find('a img').attr('src')

#三段话,获取到P标签数组,然后循环获取P标签的内容
pContent = ''
for val in contentObj.find('div.info').items():
    pContent += val.text()+"\n"

print("文章标题-%s\n文章作者-%s\n文章时间-%s\n链接地址-%s\n图片地址-%s\n文字内容-%s"%(title, author,time, aHref, imgSrc, pContent))

猜你喜欢

转载自blog.csdn.net/qq_36025814/article/details/90060535
今日推荐