概述
import requests
from lxml import etree
# 将目标网站上的页面抓取下来
# headers -> url -> requests -> response
# response.text 返回的是一个经过解码后的字符串,是str(unicode)类型
# response.content 返回的是一个原生的字符串,就是从网页上抓取下来的,没有经过处理的字符串,是bytes类型
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
'Referer':'https://movie.douban.com/'
}
url = 'https://movie.douban.com/cinema/nowplaying/nanjing/'
response = requests.get(url,headers=headers)
text = response.text
# 将抓取下来的数据根据一定的规则进行提取
html = etree.HTML(text,parser=etree.HTMLParser()) # parser html解析器
ul = html.xpath("//ul[@class='lists']")[0] # 获取属性为lists的ul标签内容,因为正在上映和即将上映是一样的,所以取列表的第一个元素,即正在上映的ul
lis = ul.xpath("./li") # 获取ul标签下的li标签(每部影片在一个li标签下面)
movies = []
for li in lis:
title = li.xpath("@data-title")[0] # xpath返回的是一个列表 影片名字
score = li.xpath("@data-score")[0] # 影片评分
release_time = li.xpath("@data-release")[0] # 上映时间
time = li.xpath("@data-duration")[0] # 影片时长
region = li.xpath("@data-region")[0] # 制片国家地区
director = li.xpath("@data-director")[0] #导演
actors = li.xpath("@data-actors")[0] #主演
category = li.xpath("@data-category")[0] #上映类型
image = li.xpath(".//img/@src")[0] # 图片链接
movie = {
'title':title,
'score':score,
'release':release_time,
'time':time,
'region':region,
'director':director,
'actors':actors,
'category':category,
'image_link':image
}
movies.append(movie)
for movie in movies:
for value in movie.values():
print(value + "||",end="")
print()
最后
以上就是成就爆米花为你收集整理的爬取豆瓣正在上映的影片信息的全部内容,希望文章能够帮你解决爬取豆瓣正在上映的影片信息所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复