【Python爬蟲作業(yè)】- 第14次,lxml以及xpath練習(xí)

# 一、div標(biāo)簽文本提取
# 將學(xué)習(xí)視頻中xpath.html文件中div標(biāo)簽下文本值
# “第一個div” ,“第二個div” 使用xpath結(jié)構(gòu)化提取并打印輸出

from lxml import etree
import requests

fp=open('xpath.html','r',encoding='utf-8')
html_content=fp.read()
fp.close()

selector=etree.HTML(html_content)
div=selector.xpath('//div/text()')
for i in range(len(div)):
        aa=div[i].strip(' ').strip('\n')
        if(len(aa)>0):
                print(aa)

# 運行結(jié)果
# 第一個div
# 第二個div

#-----------------------------------------------
# 二、ul標(biāo)簽文本提取
# 將xpath.html文件中ul標(biāo)簽下“流程” ,“xpath學(xué)習(xí)”,“流程2”文本值
# 使用xpath結(jié)構(gòu)化提取并打印輸出
ul=selector.xpath('//ul/text()')
for j in range(len(ul)):
        aa=ul[j].strip(' ').strip('\n')
        if(len(aa)>0):
                print(aa)

# 運行結(jié)果
# 流程
# xpath學(xué)習(xí)
# 流程2

# -----------------------------------------------
# 三、過濾標(biāo)簽
# 將xpath.html文件中的第一個div下的前3個a標(biāo)簽的文本及超鏈接
# 使用xpath結(jié)構(gòu)化提取,打印輸出
infos=selector.xpath('//div[1]/ul[1]/li/a')
for info in infos:
        a_text=info.xpath('text()')[0]
        a_href=info.xpath('@href')[0]
        print(a_text,' ',a_href)

# 運行結(jié)果
# 1、最新作業(yè)貼   http://www.itdecent.cn/p/f278c313f91a
# 2、Python基礎(chǔ)編程文章   http://www.itdecent.cn/c/868ce75a5ca5
# 3、作業(yè)提交流程   http://www.itdecent.cn/p/72be24ca015f
# 4、作業(yè)提交網(wǎng)址   http://www.itdecent.cn/c/c88fe7029f28
# 5、百度云鏈接   https://pan.baidu.com/s/1kUToeWn

# -----------------------------------------------
# 四、requests模塊和lxml&xpath結(jié)合提取數(shù)據(jù)
# 結(jié)合上節(jié)課requests模塊知識,將陽光電影網(wǎng)導(dǎo)航欄的文本及超鏈接結(jié)構(gòu)化提取
url='http://www.ygdy8.com/'
headers={
        'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
        'Accept-Encoding':'gzip, deflate',
        'Accept-Language':'zh-CN,zh;q=0.9',
        'Cache-Control':'max-age=0',
        'Connection':'keep-alive',
        'Cookie':'37cs_pidx=1; 37cs_user=37cs43285651090; 37cs_show=69; UM_distinctid=160bca539501d4-0503c2951b5a5e-57683a71-100200-160bca539517a; CNZZDATA5783118=cnzz_eid%3D55112955-1514992804-http%253A%252F%252Fwww.ygdy8.com%252F%26ntime%3D1514992804',
        'Host':'www.ygdy8.com',
        'If-Modified-Since':'Wed, 03 Jan 2018 12:57:50 GMT',
        'If-None-Match':"0dbc7759284d31:54c",
        'Upgrade-Insecure-Requests':'1',
        'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36'
}

req=requests.get(url,headers=headers)
req.encoding='gb2312'
html=req.text

selector=etree.HTML(html)
a=selector.xpath('//div[@id="header"]/div[@class="contain"]/div[@id="menu"]/div[@class="contain"]//a')
for i in a:
        a_text=i.xpath('text()')
        a_href=i.xpath('@href')
        if len(a_text)>0:
                print(a_text[0],' ',a_href[0])

# 運行結(jié)果
# 最新影片   /html/gndy/dyzz/index.html
# 經(jīng)典影片   /html/gndy/index.html
# 國內(nèi)電影   /html/gndy/china/index.html
# 歐美電影   /html/gndy/oumei/index.html
# 日韓電影   /html/gndy/rihan/index.html
# 華語電視   /html/tv/hytv/index.html
# 日韓電視   /html/tv/rihantv/index.html
# 歐美電視   /html/tv/oumeitv/index.html
# 最新綜藝   /html/zongyi2013/index.html
# 舊版綜藝   /html/2009zongyi/index.html
# 動漫資源   /html/dongman/index.html
# 游戲下載   /html/game/index.html
# 高分經(jīng)典   html/gndy/jddy/20160320/50541.html
# 設(shè)為主頁   index.html
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容