【python爬虫】-十三、十四次
2018-01-19 本文已影响3人
急躁的假汉子
第十三次 requests模块练习
一、构造一个访问阳光电影网的请求(url,headers)
二、输出请求的状态码
三、输出请求的网页源码
四、将源码保存成html文件(文件为'moive.html')
import requests
from lxml import etree
root_url = 'http://www.ygdy8.com'
#请求阳光电影网站
req = requests.get(root_url)
#输出请求的状态码
status_code = req.status_code
print(status_code)
#输出网页源码
req.encoding = 'gb2312'
html = req.text
print(html)
#将源码保存为html文件
f = open('moive.html','w',encoding='gb2312')
f.write(html)
f.close()
14.第十四次 lxml以及xpath练习
一、div标签文本提取
将学习视频中xpath.html文件中div标签下文本值
“第一个div” ,“第二个div” 使用xpath结构化提取并打印输出
二、ul标签文本提取
将xpath.html文件中ul标签下“流程” ,“xpath学习”,“流程2”文本值
使用xpath结构化提取并打印输出
三、过滤标签
将xpath.html文件中的第一个div下的前3个a标签的文本及超链接
使用xpath结构化提取,打印输出
from lxml import etree
file = open('xpath.html','r',encoding='utf-8')
html = file.read()
selector = etree.HTML(html)
#将xpath.html文件中ul标签下“流程” ,“xpath学习”,“流程2”文本值
info1 = selector.xpath('//div[1]/text()')[0].strip()
info2 = selector.xpath('//div[2]/text()')[0].strip()
print(info1,'\n',info2)
#将xpath.html文件中ul标签下“流程” ,“xpath学习”,“流程2”文本值
ul_infos = selector.xpath('//ul')
for info in ul_infos:
ul_text = info.xpath('text()')[0].strip()
print(ul_text)
#将xpath.html文件中的第一个div下的前3个a标签的文本及超链接
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结合提取数据
结合上节课requests模块知识,将阳光电影网导航栏的文本及超链接结构化提取
import requests
from lxml import etree
root_url = 'http://www.ygdy8.com'
#请求阳光电影网站
req = requests.get(root_url)
#输出请求的状态码
status_code = req.status_code
print(status_code)
#输出网页源码
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)