标题:豆瓣电影小实战
仅供参考:
# encoding=utf-8
import requests
from lxml import etree
# 1.将目标网站的页面抓取下来
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/65.0.3314.0 Safari/537.36 SE 2.X MetaSr 1.0',
'Referer':'https://movie.douban.com/explore'
}
url = 'https://movie.douban.com/cinema/nowplaying/jinzhong/'
response = requests.get(url,headers=headers)
text = response.text
# response.text 返回的是一个经过解码后的字符串,是str(unicode类型)
# response.content 返回的是一个原生的字符串,就是从网页上抓取下来的,
# 没有经过处理的字符串,是bytes类型
# 2.将抓取下来的数据更具一定的规划进行提取
html = etree.HTML(text)
# // 获取网页当中所有的子孙元素
ul = html.xpath("//ul[@class='lists']")[0]
print(ul)
print(etree.tostring(ul,encoding='utf-8').decode('utf-8'))
lis = ul.xpath("./li")
movies = []
for li in lis:
title = li.xpath("@data-title")[0]
# 因为电影未上映,所以无 data-score
#score = li.xpath("@data-score")[0]
duration = li.xpath("@data-duration")[0]
region = li.xpath("@data-region")[0]
directer = li.xpath("@data-director")[0]
actors = li.xpath("@data-actors")[0]
thumbnail = li.xpath(".//img/@src")
print(thumbnail)
movie = {
'title':title,
'duration':duration,
'region':region,
'directer':directer,
'actors':actors,
'thumbnail':thumbnail
}
movies.append(movie)
print(movies)
import requests
from lxml import etree
#1.将目标网站的页面抓取下来
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36",
"Referer":"https://www.douban.com/"
}
url = "https://movie.douban.com/cinema/nowplaying/xinzhou/"
response = requests.get(url,headers=headers)
text = response.text
#print(response.text)
#response,.text返回的是一个经过解码的字符串,是str(unicode)类型
#response.content返回的是一个原生的字符串,是bytes类型
#2.将抓取下来的数据根据一定的规则进行提取
html = etree.HTML(text)
ul = html.xpath("//ul[@class='lists']")[1]
lis = ul.xpath("./li")
movies = []
for li in lis:
title = li.xpath("@data-title")[0]
score = li.xpath("@data-score")[0]
duration =li.xpath("@data-duration")[0]
region = li.xpath("@data-region")[0]
director = li.xpath("@data-director")[0]
actors = li.xpath("@data-actors")[0]
#获取海报
thumbnail = li.xpath(".//img/@src")
movie = {
"title":title,
"score":score,
"duration":duration,
"region":region,
"directors":director,
"actors":actors,
"thumbnail":thumbnail
}
movies.append(movie)
print(movies)