【python爬蟲】-十三、十四次

第十三次 requests模塊練習(xí)

一、構(gòu)造一個(gè)訪問陽光電影網(wǎng)的請(qǐng)求(url,headers)
二、輸出請(qǐng)求的狀態(tài)碼
三、輸出請(qǐng)求的網(wǎng)頁源碼
四、將源碼保存成html文件(文件為'moive.html')

import requests
from lxml import etree
root_url = 'http://www.ygdy8.com'
#請(qǐng)求陽光電影網(wǎng)站
req = requests.get(root_url)
#輸出請(qǐng)求的狀態(tài)碼
status_code = req.status_code
print(status_code)
#輸出網(wǎng)頁源碼
req.encoding = 'gb2312'
html = req.text
print(html)
#將源碼保存為html文件
f = open('moive.html','w',encoding='gb2312')
f.write(html)
f.close()

14.第十四次 lxml以及xpath練習(xí)

一、div標(biāo)簽文本提取
將學(xué)習(xí)視頻中xpath.html文件中div標(biāo)簽下文本值
“第一個(gè)div” ,“第二個(gè)div” 使用xpath結(jié)構(gòu)化提取并打印輸出
二、ul標(biāo)簽文本提取
將xpath.html文件中ul標(biāo)簽下“流程” ,“xpath學(xué)習(xí)”,“流程2”文本值
使用xpath結(jié)構(gòu)化提取并打印輸出
三、過濾標(biāo)簽
將xpath.html文件中的第一個(gè)div下的前3個(gè)a標(biāo)簽的文本及超鏈接
使用xpath結(jié)構(gòu)化提取,打印輸出

from lxml import etree
file = open('xpath.html','r',encoding='utf-8')
html = file.read()
selector = etree.HTML(html)
#將xpath.html文件中ul標(biāo)簽下“流程” ,“xpath學(xué)習(xí)”,“流程2”文本值
info1 = selector.xpath('//div[1]/text()')[0].strip()
info2 = selector.xpath('//div[2]/text()')[0].strip()
print(info1,'\n',info2)
#將xpath.html文件中ul標(biāo)簽下“流程” ,“xpath學(xué)習(xí)”,“流程2”文本值
ul_infos = selector.xpath('//ul')
for info in ul_infos:
    ul_text = info.xpath('text()')[0].strip()
    print(ul_text)
#將xpath.html文件中的第一個(gè)div下的前3個(gè)a標(biāo)簽的文本及超鏈接
a_infos = selector.xpath('//div[1]/ul[@class="title"]/li[position() < 4]/a')
for info in a_infos:
    a_text = info.xpath('text()')[0]
    a_url = info.xpath('@href')[0]
    print(a_text,a_url)

四、requests模塊和lxml&xpath結(jié)合提取數(shù)據(jù)
結(jié)合上節(jié)課requests模塊知識(shí),將陽光電影網(wǎng)導(dǎo)航欄的文本及超鏈接結(jié)構(gòu)化提取

import requests
from lxml import etree
root_url = 'http://www.ygdy8.com'
#請(qǐng)求陽光電影網(wǎng)站
req = requests.get(root_url)
#輸出請(qǐng)求的狀態(tài)碼
status_code = req.status_code
print(status_code)
#輸出網(wǎng)頁源碼
req.encoding = 'gb2312'
html = req.text
selector = etree.HTML(html)
infos = selector.xpath('//div[@class="contain"]/ul/li[position()<13]/a')
for info in infos:
    info_text = info.xpath('text()')[0]
    info_url = root_url + info.xpath('@href')[0]
    print(info_text,info_url)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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