爬取电影天堂的电影详情页信息
思路分析
1、获取每一个页面的URL地址
首页的URL:https://www.dytt8.net/html/gndy/dyzz/index.html
以后每一个页面的URL:https://www.dytt8.net/html/gndy/dyzz/list_23_%d.html(其中的%d应该替换为相应的页码)
url = 'https://www.dytt8.net/html/gndy/dyzz/list_23_%d.html' % i
2、获取电影详情页面的URL
利用XPath提取相应的URL即可
def get_url(page_url):
try:
response = requests.get(page_url, headers=headers)
page_url_list = []
except :
print(page_url+"请求失败!")
return []
html = etree.HTML(response.text)
a = html.xpath("//a[@class='ulink']")
for it in a:
href_list = it.xpath("@href")
if len(href_list) > 0:
href = href_list[0]
page_url_list.append(HOST+href)
print(page_url_list)
return page_url_list
3、爬取电影详情页面
根据拿到的电影详情页面的URL发送请求
4、从页面中提取信息
利用XPath提取需要的信息
def get_detail(page_url):
try:
r = requests.get(page_url, headers=headers)
except :
print(page_url+"请求失败")
return {
}
r.encoding = 'gbk'
html = etree.HTML(r.text)
p_list = html.xpath("//p")
if len(p_list) == 0:
return {
}
else:
p = p_list[0]
img_list = p.xpath("./img/@src")
if len(img_list) == 0:
img = 'null'
else:
img = img_list[0]
download_url_list = p.xpath("./a/@href")
if len(download_url_list) == 0:
download_url = "null"
else:
download_url = download_url_list[0]
movie_info = {
'image': img}
info = p.xpath("./text()")
if len(info) == 0:
return {
}
for index, item in enumerate(info):
if item.startswith('◎译 名'):
translated_names = parse_info('◎译 名', item)
movie_info['translated_names'] = translated_names
elif item.startswith('◎片 名'):
title = parse_info('◎片 名', item)
movie_info['title'] = title
elif item.startswith('◎年 代'):
year = parse_info('◎年 代',</

本文介绍了如何使用Python爬虫爬取电影天堂网站的电影详情页信息。首先解析首页URL获取页码,然后构造详情页URL并发送请求。通过XPath提取所需信息,最后将数据保存为CSV文件。在实现过程中注意异常处理和XPath的灵活性,以应对不同页面结构。
最低0.47元/天 解锁文章
2362





