采集天堂电影数据来看看
1原理:
构建目标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()')
data['名字'] = title
try:
images = html.xpath('//div[@id="Zoom"]//img/@src')
except:
print("套路深!")
try:
posters = html.xpath('//div[@id="Zoom"]//img/@src')
except:
print("套路深!!")
data['海报'] = posters
# time.sleep(random.randint(1, 2))
zoom_ = html.xpath('//div[@id="Zoom"]')
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.
效果图
https://attach.52pojie.cn//forum/201911/11/235642xvad5a5tzj5bycbf.jpg?l
奉天游龙-狼叔 发表于 2019-11-12 02:00
这种接口适用自己搭设的视频网站不?
可以,但是很麻烦 楼主的概念已拿走,感谢楼主大公无私的分享,辛苦了! 学习了,感谢分享 参考下学习了,感谢LZ 学习了。。。。。 有没有软件,小白可以使用的那种? 我是小白先学习一下,谢谢
学习了。。。。。
页:
[1]
2