第十三次 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)