本文来源吾爱破解论坛
1
微信图片_20191111235622.jpg
(248.75 KB, 下载次数: 2)
下载附件
保存到相册
2019-11-11 23:56 上传
原理:
构建目标URL:
def page_urls():
baseurl = 'http://www.ygdy8.net/html/gndy/dyzz/list_23_{}.html'
for i in range(1, 30):
url = baseurl.format(i)
parse_url(url)
只需要改变{}里面的内容就可以实现翻页
爬取电影详情URL:
def parse_url(url):
response = requests.get(url, headers=headers)
html = etree.HTML(response.text)
tables = html.xpath('//table[@class="tbspan"]//a/@href')
for table_url in tables:
page_urls = baseurl + table_url
2
需要的模块:
import time
import random
import requests
from lxml import etree
import csv
主程序:(有点长,截取部分)
def spider(page_urls):
data = {}
response = requests.get(page_urls, headers=headers)
html = etree.HTML(response.content.decode('gbk'))
title = html.xpath('//div[@class="title_all"]//font[@color="#07519a"]/text()')[0]
data['名字'] = title
try:
images = html.xpath('//div[@id="Zoom"]//img/@src')[1]
except:
print("套路深!")
try:
posters = html.xpath('//div[@id="Zoom"]//img/@src')[0]
except:
print("套路深!!")
data['海报'] = posters
# time.sleep(random.randint(1, 2))
zoom_ = html.xpath('//div[@id="Zoom"]')[0]
infos = zoom_.xpath('.//text()')
for info in infos:
if info.startswith('◎年 代'):
info1 = info.replace('◎年 代', '').strip()
data['年代'] = info1
elif info.startswith('◎产 地'):
info2 = info.replace('◎产 地', '').strip()
data['产地'] = info2
elif info.startswith('◎类 别'):
info3 = info.replace('◎类 别', '').strip()
data['类别'] = info3
elif info.startswith('◎语 言'):
info4 = info.replace('◎语 言', '').strip()
data['语言'] = info4
elif info.startswith('◎上映日期'):
info5 = info.replace('◎上映日期', '').strip()
data['上映日期'] = info5
elif info.startswith('◎豆瓣评分'):
info6 = info.replace('◎豆瓣评分', '').strip()
info6 = ''.join(info6.split('/')[:1])
data['豆瓣评分'] = info6
elif info.startswith('◎片 长'):
info7 = info.replace('◎片 长', '').strip()
data['片长'] = info7
3.
效果图
版权声明:
本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。