人生苦短,请用Python。
今天在某视频门户网站(某字母站)看了一集教大家利用Python中的requests、etree和xpath进行视频爬取。照着视频一行行敲完代码之后,尝试着运行了一下,果然开始爬取了,但运行一段时间后,出现了两个小问题。
①爬取到的视频最长只有10s且清晰度很低,但是在网页上打开并不是这样的。(已解决)
②总共200+页的视频,在爬取到40+页的时候,程序报错,是模块中的错误。初步怀疑是网站的反爬机制造成的。(此问题还未解决,解决后补充)
首先贴上代码:
import requests
from lxml import etree
# 面向对象设计模式
class Spider(object):
def __init__(self):
self.offset = 1
def start_work(self):
for self.offset in range(1,224):
print('正在爬取第%d页....' % self.offset)
response = requests.get(url = 'https://ibaotu.com/shipin/7-0-0-0-0-' + str(self.offset) + '.html')
html = response.text
html = etree.HTML(html)
video_src = html.xpath('//div[@class="video-play"]/video/@src')