├── merge fail.txt ├── .gitattributes ├── TAG NAME.txt ├── xvideos.log ├── 说明 ├── img │ └── 爬虫框架运行流程图.png └── 说明文档.md ├── __pycache__ ├── down_one.cpython-37.pyc ├── sendEmail.cpython-37.pyc ├── merge_ts_file.cpython-37.pyc └── exception_handling.cpython-37.pyc ├── Entites ├── __init__.py └── Video.py ├── Utils ├── __init__.py ├── TSFileMergeUtil.py └── RequestUtil.py ├── VideoUpload ├── __init__.py └── MegaManager.py ├── SpiderManager ├── __init__.py └── SpiderManager.py ├── URLManager ├── __init__.py └── URLManager.py ├── HtmlParser ├── __init__.py ├── HtmlParser.py └── VideoParser.py ├── HtmlDownloader ├── __init__.py ├── HtmlDownloader.py └── VideoDownloader.py ├── DataOutput ├── __init__.py └── DataOutput.py ├── SpiderMain.py ├── get_favorite_urls.py ├── get_saved.py ├── sendEmail.py ├── NO EXISTS.txt ├── down_some.py ├── SpiderConfig.py ├── exception_handling.py ├── xvideos.py ├── merge_ts_file.py ├── .gitignore ├── README.md ├── down_group.py ├── down_one.py ├── SAVED.txt ├── ERROR.txt └── xvideos_urls.txt /merge fail.txt: -------------------------------------------------------------------------------- 1 | 35904115 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.html linguist-language=python 2 | -------------------------------------------------------------------------------- /TAG NAME.txt: -------------------------------------------------------------------------------- 1 | https://www.xvideos.com/lang/japanese 日本のアダルト動画 2 | -------------------------------------------------------------------------------- /xvideos.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tonny0812/xvideos/HEAD/xvideos.log -------------------------------------------------------------------------------- /说明/img/爬虫框架运行流程图.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tonny0812/xvideos/HEAD/说明/img/爬虫框架运行流程图.png -------------------------------------------------------------------------------- /__pycache__/down_one.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tonny0812/xvideos/HEAD/__pycache__/down_one.cpython-37.pyc -------------------------------------------------------------------------------- /__pycache__/sendEmail.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tonny0812/xvideos/HEAD/__pycache__/sendEmail.cpython-37.pyc -------------------------------------------------------------------------------- /__pycache__/merge_ts_file.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tonny0812/xvideos/HEAD/__pycache__/merge_ts_file.cpython-37.pyc -------------------------------------------------------------------------------- /__pycache__/exception_handling.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tonny0812/xvideos/HEAD/__pycache__/exception_handling.cpython-37.pyc -------------------------------------------------------------------------------- /说明/说明文档.md: -------------------------------------------------------------------------------- 1 | ## 基础爬虫框架 2 | 3 | 基础爬虫框架主要包括五大模块: 4 | 5 | - 爬虫调度器 6 | - URL管理器 7 | - HTML下载器 8 | - HTML解析器 9 | - 数据存储器 10 | 11 | 运行流程 12 | ![运行流程](img/爬虫框架运行流程图.png) 13 | 14 | ## 本项目相关 15 | 16 | -------------------------------------------------------------------------------- /Entites/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: __init__.py 5 | Description : 6 | Author : qiuqiu 7 | date: 2019/10/24 8 | ------------------------------------------------- 9 | """ -------------------------------------------------------------------------------- /Utils/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: __init__.py 5 | Description : 6 | Author : qiuqiu 7 | date: 2019/10/22 8 | ------------------------------------------------- 9 | """ -------------------------------------------------------------------------------- /VideoUpload/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: __init__.py 5 | Description : 6 | Author : qiuqiu 7 | date: 2019/10/28 8 | ------------------------------------------------- 9 | """ -------------------------------------------------------------------------------- /VideoUpload/MegaManager.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: MegaManager 5 | Description : 6 | Author : qiuqiu 7 | date: 2019/10/28 8 | ------------------------------------------------- 9 | """ -------------------------------------------------------------------------------- /SpiderManager/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: __init__.py 5 | Description : 调度器 6 | Author : qiuqiu 7 | date: 2019/10/21 8 | ------------------------------------------------- 9 | """ -------------------------------------------------------------------------------- /URLManager/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: __init__.py 5 | Description : URL管理器 6 | Author : qiuqiu 7 | date: 2019/10/21 8 | ------------------------------------------------- 9 | """ -------------------------------------------------------------------------------- /HtmlParser/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: __init__.py 5 | Description : HTML解析器,用于分析页面 6 | Author : qiuqiu 7 | date: 2019/10/21 8 | ------------------------------------------------- 9 | """ -------------------------------------------------------------------------------- /HtmlDownloader/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: __init__.py 5 | Description : HTML下载器,负责下载页面 6 | Author : qiuqiu 7 | date: 2019/10/21 8 | ------------------------------------------------- 9 | """ -------------------------------------------------------------------------------- /DataOutput/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: __init__.py 5 | Description : 用于输出数据,可以存放到磁盘文件, 6 | 也可以存放到数据库 7 | Author : qiuqiu 8 | date: 2019/10/21 9 | ------------------------------------------------- 10 | """ -------------------------------------------------------------------------------- /SpiderMain.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: SpiderMain 5 | Description : 6 | Author : qiuqiu 7 | date: 2019/10/22 8 | ------------------------------------------------- 9 | """ 10 | from SpiderManager.SpiderManager import SpiderManager 11 | 12 | if __name__ == "__main__": 13 | spider_man = SpiderManager() 14 | 15 | spider_man.run() -------------------------------------------------------------------------------- /get_favorite_urls.py: -------------------------------------------------------------------------------- 1 | import re 2 | 3 | html = r'bookmarks_2019_8_16.html' 4 | with open(html,'r',encoding='utf-8') as f1: 5 | with open('xvideos_urls.txt','w',encoding='utf-8') as f2: 6 | for line in f1: 7 | url = re.search(r'https?://www.xvideos.com/video\d+?.*?(?=")',line) 8 | if url: 9 | f2.write(url.group()+'\n') 10 | 11 | with open('xvideos_urls.txt','r',encoding='utf-8') as f2: 12 | print(len(f2.readlines())) -------------------------------------------------------------------------------- /get_saved.py: -------------------------------------------------------------------------------- 1 | import re, os 2 | 3 | root_path = r'E:\仓殷禀阜\xvideos' 4 | list = [] 5 | for dir in os.listdir(root_path): 6 | for dir2 in os.listdir(os.path.join(root_path, dir)): 7 | for dir3 in os.listdir(os.path.join(root_path, dir, dir2)): 8 | with open(os.path.join(root_path, dir, dir2, dir3, 'information.txt'),errors='ignore')as f: 9 | list.append(re.search(r'https://www.xvideos.com/video(\d+)/',f.read()).group(1)) 10 | 11 | with open('SAVED.txt','w') as f: 12 | for i in list: 13 | f.write(i+'\n') -------------------------------------------------------------------------------- /HtmlDownloader/HtmlDownloader.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: HtmlDownloader 5 | Description : HTML下载器,需要考虑页面编码,实现一个接口downlaod(url) 6 | Author : qiuqiu 7 | date: 2019/10/22 8 | ------------------------------------------------- 9 | """ 10 | import SpiderConfig 11 | from Utils import RequestUtil 12 | 13 | 14 | class HtmlDownloader(object): 15 | 16 | def download_with_proxies(self, url): 17 | return RequestUtil.download_content(url, proxies=SpiderConfig.PROXIES, timeout=10) 18 | -------------------------------------------------------------------------------- /sendEmail.py: -------------------------------------------------------------------------------- 1 | import smtplib 2 | from email.mime.text import MIMEText 3 | 4 | def SendEmail(text): 5 | 6 | fromAdd="kljxnnn@163.com" #你的邮箱 发件地址 7 | toAdd = 'kljxn@qq.com' 8 | subject = 'xvideos爬虫出错' 9 | 10 | _pwd = "163mail" #授权码 11 | 12 | msg = MIMEText(text) 13 | msg["Subject"] = subject 14 | msg["From"] = fromAdd 15 | msg["To"] = toAdd 16 | try: 17 | s = smtplib.SMTP_SSL("smtp.163.com", 465) 18 | s.login(fromAdd, _pwd) 19 | s.sendmail(fromAdd, toAdd, msg.as_string()) 20 | s.quit() 21 | print ("Send Email Success!") 22 | except smtplib.SMTPException: 23 | print('Send Email Falied!') 24 | 25 | if __name__=='__main__': 26 | 27 | text = 'hhhhha' 28 | SendEmail(text) -------------------------------------------------------------------------------- /NO EXISTS.txt: -------------------------------------------------------------------------------- 1 | 48514183 2 | 49101655 3 | 29707043 4 | 32709077 5 | 32305077 6 | 34354229 7 | 34431449 8 | 32418785 9 | 31534257 10 | 32656369 11 | 31488599 12 | 32155909 13 | 32656341 14 | 32966525 15 | 37838351 16 | 39971687 17 | 31695049 18 | 39749275 19 | 38903409 20 | 39282144 21 | 35664227 22 | 34510003 23 | 34581423 24 | 35568195 25 | 32440417 26 | 29182845 27 | 19667677 28 | 42328463 29 | 38799825 30 | 42152859 31 | 41613909 32 | 42184543 33 | 42003493 34 | 42173911 35 | 42071587 36 | 42180973 37 | 41958261 38 | 41874713 39 | 41946673 40 | 41946735 41 | 41747909 42 | 38742881 43 | 42029149 44 | 36495739 45 | 41719507 46 | 40666617 47 | 40654599 48 | 40766225 49 | 40873119 50 | 41038079 51 | 41167279 52 | 40457139 53 | 43012089 54 | 42935697 55 | 47898515 56 | 46572655 57 | 48342039 58 | 34644021 59 | 36537789 60 | -------------------------------------------------------------------------------- /down_some.py: -------------------------------------------------------------------------------- 1 | from exception_handling import log_exception 2 | import down_one 3 | import time, os 4 | 5 | 6 | @log_exception 7 | def downloads(): 8 | #dir_name = input('请输入文件夹名称(最终文件存放于root_path/00-来自文本/自定义文件夹名):') 9 | dir_name = '20190817' 10 | urls_txt = 'xvideos_urls.txt' 11 | with open(urls_txt,'r',encoding='utf-8') as f: 12 | urls_list=f.readlines() 13 | for i, url in enumerate(urls_list): 14 | print('进度: %d/%d'%(i+1, len(urls_list))) 15 | print('网址: %s'%url[:-1]) #去除url末尾的'\n' 16 | xvideos = down_one.Xvideos(url) 17 | xvideos.root_path = os.path.join(xvideos.root_path, '00-来自文本', dir_name) 18 | xvideos.download() 19 | print() 20 | 21 | if __name__ == '__main__': 22 | start = time.perf_counter() 23 | downloads() 24 | end = time.perf_counter() 25 | print('任务执行共%d小时%d分%.2f秒' % ((end-start)//3600,(end-start)%3600//60,(end-start)%60)) -------------------------------------------------------------------------------- /Utils/TSFileMergeUtil.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: TSFileMerge 5 | Description : 合并ts文件 6 | Author : qiuqiu 7 | date: 2019/10/22 8 | ------------------------------------------------- 9 | """ 10 | import os 11 | from glob import glob 12 | 13 | 14 | # 对转换的TS文件进行排序 15 | def get_sorted_ts(user_path): 16 | ts_list = glob(os.path.join(user_path, '*.ts')) 17 | boxer = [] 18 | for ts in ts_list: 19 | if os.path.exists(ts): 20 | file, _ = os.path.splitext(os.path.basename(ts)) 21 | boxer.append(int(file)) 22 | boxer.sort() 23 | return boxer 24 | 25 | # 文件合并 26 | def convert_m3u8(boxer, desc_file_name): 27 | tmp = [] 28 | for ts in boxer: 29 | tmp.append(str(ts) + '.ts') 30 | cmd_str = '+'.join(tmp) 31 | exec_str = "copy /B " + cmd_str + ' ' + desc_file_name 32 | print(exec_str) 33 | os.system(exec_str) 34 | -------------------------------------------------------------------------------- /SpiderConfig.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: SpiderConfig 5 | Description : 6 | Author : qiuqiu 7 | date: 2019/10/22 8 | ------------------------------------------------- 9 | """ 10 | import os 11 | 12 | # 视频上限 13 | MAX_NUMBER = 1000 14 | VIDEOS_OUTPUT_LIST_FILE_PATH = os.path.join(os.path.dirname(__file__), "文件", "video_list.html") 15 | VIDEOS_OUTPUT_REAL_URL_LIST_FILE_PATH = os.path.join(os.path.dirname(__file__), "文件", "real_video_list.html") 16 | VIDEOS_OUTPUT_TEMP_PATH = os.path.join(os.path.dirname(__file__), "视频", "temp") 17 | VIDEOS_OUTPUT_PATH = os.path.join(os.path.dirname(__file__), "视频") 18 | 19 | PROXIES = {'http': '127.0.0.1:1080', 'https': '127.0.0.1:1080'} 20 | 21 | PARALLEL_NUM = 5 22 | 23 | urls = ['https://www.xvideos.com/%s' % n for n in 24 | [''] + ['new/%d' % m for m in list(range(1, 2))] + ['lang/chinese/%s' % p for p in list(range(1, 3))] + 25 | ['c/Solo&Masturbation-33'] + ['c/%s/Solo&Masturbation-33' % s for s in list(range(1, 2))]] 26 | -------------------------------------------------------------------------------- /exception_handling.py: -------------------------------------------------------------------------------- 1 | import functools 2 | import logging 3 | from sendEmail import SendEmail 4 | import traceback 5 | 6 | def create_logger(): 7 | logger = logging.getLogger("xvideos_log") 8 | logger.setLevel(logging.INFO) 9 | if not logger.handlers: 10 | fh = logging.FileHandler("xvideos.log") 11 | fmt = "[%(asctime)s-%(name)s-%(levelname)s]:\n%(message)s" 12 | formatter = logging.Formatter(fmt) #设置格式 13 | fh.setFormatter(formatter) #将相应的handler添加在logger对象中 14 | logger.addHandler(fh) #打印日记 15 | #logger.removeHandler(fh) #在记录日志之后移除句柄,以解决 logging 重复写日志问题 16 | return logger 17 | 18 | def log_exception(fn): 19 | @functools.wraps(fn) 20 | def wrapper(*args, **kwargs): 21 | logger = create_logger() 22 | try: 23 | fn(*args, **kwargs) 24 | except Exception as e: 25 | SendEmail(traceback.format_exc()) 26 | logger.exception("[Error in {}] msg: {}".format(__name__, str(e))) 27 | with open('xvideos.log','a+',encoding='utf-8') as f: 28 | f.write('\n') 29 | raise #主动抛出异常 30 | return wrapper -------------------------------------------------------------------------------- /Entites/Video.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: Entites 5 | Description : 6 | Author : qiuqiu 7 | date: 2019/10/24 8 | ------------------------------------------------- 9 | """ 10 | 11 | 12 | class Video(object): 13 | def __init__(self, title, url, imgurl=''): 14 | self.title = title 15 | self.url = url 16 | self.imgurl = imgurl 17 | self.realurl = [] 18 | self.localpath = "" 19 | 20 | def get_title(self): 21 | return self.title 22 | 23 | def get_url(self): 24 | return self.url 25 | 26 | def get_img_url(self): 27 | return self.imgurl 28 | 29 | def set_img_url(self, imgurl): 30 | self.imgurl = imgurl 31 | 32 | def get_real_url(self): 33 | return self.realurl 34 | 35 | def set_real_url(self, realurls): 36 | for url in realurls: 37 | self.realurl.append(url) 38 | 39 | def get_local_path(self): 40 | return self.localpath 41 | 42 | def set_local_path(self, localpath): 43 | self.localpath = localpath 44 | 45 | def __eq__(self, other): 46 | if isinstance(other, Video): 47 | return ((self.title == other.title) and (self.url == other.url)) and (self.imgurl == other.imgurl) 48 | else: 49 | return False 50 | 51 | def __ne__(self, other): 52 | return (not self.__eq__(other)) 53 | 54 | def __hash__(self): 55 | return hash(self.title) + hash(self.url) + hash(self.imgurl) 56 | 57 | # def __str__(self) -> str: 58 | # return "{" + self.title + "," + self.url + "," + str(self.realurl) + "}" 59 | 60 | 61 | if __name__ == "__main__": 62 | video = Video('title', 'url') 63 | print(video.get_title(), video.get_url()) 64 | urls = ['u1', 'u2'] 65 | for url in urls: 66 | print(url) 67 | video.set_real_url(urls) 68 | print(video) 69 | -------------------------------------------------------------------------------- /HtmlParser/HtmlParser.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: HtmlParser 5 | Description : 用于解析网页内容抽取URL和数据 6 | Author : qiuqiu 7 | date: 2019/10/22 8 | ------------------------------------------------- 9 | """ 10 | 11 | import urllib.parse 12 | 13 | from bs4 import BeautifulSoup 14 | 15 | from Entites.Video import Video 16 | 17 | 18 | class HtmlParser(object): 19 | 20 | def parser(self, page_url, html_cont): 21 | ''' 22 | 用于解析网页内容抽取URL和数据 23 | :param page_url: 下载页面的URL 24 | :param html_cont: 下载的网页内容 25 | :return:返回小视频的title和URL 26 | ''' 27 | if page_url is None or html_cont is None: 28 | return 29 | soup = BeautifulSoup(html_cont, 'html.parser', from_encoding='utf-8') 30 | video_datas = self._get_video_infos(page_url, soup) 31 | return video_datas 32 | 33 | def _get_video_infos(self, page_url, soup): 34 | ''' 35 | 抽取新的URL集合 36 | :param page_url: 下载页面的URL 37 | :param soup:soup 38 | :return: 返回小视频的title&url 39 | ''' 40 | videos = set() 41 | # 抽取符合要求的a标签 42 | blocks = soup.select('.thumb-block') 43 | for block in blocks: 44 | link = block.select('.thumb-under > p > a')[0] 45 | img_link = block.select('.thumb-inside a img')[0] 46 | try: 47 | # 提取href属性 48 | title = link['title'] 49 | url = link['href'] 50 | img_url = img_link['data-src'] 51 | # 拼接成完整网址 52 | full_vurl = urllib.parse.urljoin(page_url, url) 53 | video = Video("".join(title.split()), full_vurl, img_url) 54 | videos.add(video) 55 | except AttributeError as e: 56 | print(e) 57 | 58 | links = soup.select('.thumb-under > p > a') 59 | for link in links: 60 | try: 61 | # 提取href属性 62 | title = link['title'] 63 | url = link['href'] 64 | # 拼接成完整网址 65 | full_vurl = urllib.parse.urljoin(page_url, url) 66 | video = Video(title, full_vurl) 67 | videos.add(video) 68 | except AttributeError as e: 69 | print(e) 70 | return videos 71 | -------------------------------------------------------------------------------- /HtmlParser/VideoParser.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: VideoParser 5 | Description : 6 | Author : qiuqiu 7 | date: 2019/10/27 8 | ------------------------------------------------- 9 | """ 10 | import re 11 | import urllib.parse 12 | 13 | from bs4 import BeautifulSoup 14 | 15 | 16 | class VideoParser(object): 17 | 18 | def m3u8parser(self, html_cont): 19 | ''' 20 | 用于解析总的m3u8链接 21 | :param html_cont: 下载的网页内容 22 | :return:总的m3u8链接 23 | ''' 24 | if html_cont is None: 25 | return 26 | soup = BeautifulSoup(html_cont, 'html.parser', from_encoding='utf-8') 27 | title = self._get_m3u8_title(soup) 28 | html_cont = html_cont.decode('utf-8') 29 | m3u8_url = re.search(r"html5player\.setVideoHLS\('(.*?)'\);", html_cont).group(1) # 总的m3u8链接 30 | base_url = re.search(r"(.*?)hls.m3u8", m3u8_url).group(1) # 从m3u8_url中取出,留待拼接 31 | return title, base_url, m3u8_url 32 | 33 | def _get_m3u8_title(self, soup): 34 | title = soup.select(".page-title")[0] 35 | if title: 36 | return title.get_text() 37 | return None 38 | 39 | def m3u8HighestParser(self, base_url, m3u8_cont): 40 | ''' 41 | 抽取内含不同的清晰度所对应的m3u8链接,返回最高清晰度的m3u8链接 42 | :param base_url: base_url 43 | :param html_cont:html_cont 44 | :return: 返回最高清晰度的m3u8链接 45 | ''' 46 | if base_url is None or m3u8_cont is None: 47 | return 48 | 49 | m3u8_cont = m3u8_cont.decode('utf-8') 50 | definition_list = re.findall(r'NAME="(.*?)p"', m3u8_cont) 51 | max_definition = max(definition_list) # 找到最高清晰度 52 | line_list = m3u8_cont.split('\n') 53 | for line in line_list: 54 | if 'hls-' in line and max_definition in line: 55 | max_definition_m3u8_url = line # 最高清晰度的m3u8链接(相对路径) 56 | 57 | max_definition_m3u8_url = urllib.parse.urljoin(base_url, max_definition_m3u8_url) 58 | return max_definition_m3u8_url 59 | 60 | def m3u8TSParser(self, base_url, h_m3u8_cont): 61 | ts_url_list = [] 62 | h_m3u8_cont = h_m3u8_cont.decode('utf-8') 63 | for line in h_m3u8_cont.split('\n'): 64 | if '.ts' in line: 65 | ts_url_list.append(urllib.parse.urljoin(base_url, line)) 66 | return ts_url_list 67 | -------------------------------------------------------------------------------- /URLManager/URLManager.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: URLManager 5 | Description : URL管理器,主要包括两个变量,一个是已经爬取过的URL集合,另一个是未爬取过的URL集合。 6 | 采用python中的set类型进行去重,链接去重的实现方式有三种: 7 | 1、内存去重 8 | 2、关系数据库去重 9 | 3、缓存数据库去重(大型成熟爬虫使用的方案) 10 | 需要提供的接口: 11 | 1、判断是否有待取的URL,has_new_url() 12 | 2、添加新的URL到未爬取的集合中, add_new_url(url) add_new_urls(urls) 13 | 3、获取一个为爬取的URL,get_new_url() 14 | 4、获取未爬取URL集合的大小,new_url_size() 15 | 5、获取已爬取的URL集合大小,old_url_size() 16 | Author : qiuqiu 17 | date: 2019/10/22 18 | ------------------------------------------------- 19 | """ 20 | class UrlManager(object): 21 | def __init__(self): 22 | self.new_urls = set() # 未爬取集合 23 | self.old_urls = set() # 已爬取集合 24 | self.video_set = set() # 视频集合 25 | 26 | def has_new_url(self): 27 | ''' 28 | 判断是否有未爬取的URL 29 | :return: 30 | ''' 31 | return self.new_url_size() != 0 32 | 33 | def get_new_url(self): 34 | ''' 35 | 获取一个未爬取的URL 36 | :return: 37 | ''' 38 | new_url = self.new_urls.pop() 39 | self.old_urls.add(new_url) 40 | return new_url 41 | 42 | def add_new_url(self, url): 43 | ''' 44 | 将新的URL添加到未爬取的URL集合中 45 | :param url: 46 | :return: 47 | ''' 48 | if url is None: 49 | return 50 | if url not in self.new_urls and url not in self.old_urls: 51 | self.new_urls.add(url) 52 | 53 | def add_new_urls(self, urls): 54 | ''' 55 | 将新的URL添加到未爬取的URL集合中 56 | :param urls: 57 | :return: 58 | ''' 59 | if urls is None and len(urls) == 0: 60 | return 61 | for url in urls: 62 | self.add_new_url(url) 63 | 64 | def add_new_video(self, video): 65 | if video is None: 66 | return 67 | if video not in self.new_urls and video not in self.old_urls: 68 | self.video_set.add(video) 69 | 70 | def add_new_videos(self, videos): 71 | if videos is None and len(videos) == 0: 72 | return 73 | for url in videos: 74 | self.add_new_video(url) 75 | 76 | def new_url_size(self): 77 | return len(self.new_urls) 78 | 79 | def old_url_size(self): 80 | return len(self.old_urls) 81 | 82 | def video_size(self): 83 | return len(self.video_set) -------------------------------------------------------------------------------- /DataOutput/DataOutput.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: DataOutput 5 | Description : 数据存储,store_data(data)将解析数据放到内存中,output_html()将数据存储成html格式 6 | Author : qiuqiu 7 | date: 2019/10/22 8 | ------------------------------------------------- 9 | """ 10 | import codecs 11 | import os 12 | import shutil 13 | 14 | from bs4 import BeautifulSoup 15 | 16 | import SpiderConfig 17 | from Utils import TSFileMergeUtil 18 | 19 | 20 | class DataOutput(object): 21 | 22 | def __init__(self): 23 | self.videos = [] 24 | self.ts_videos = [] 25 | 26 | def store_data(self, video): 27 | if video is None: 28 | return 29 | self.videos.append(video) 30 | 31 | def store_ts_video(self, video): 32 | if video is None: 33 | return 34 | self.ts_videos.append(video) 35 | 36 | def store_datas(self, videos): 37 | if videos is None and len(videos) == 0: 38 | return 39 | for video in videos: 40 | self.store_data(video) 41 | 42 | def output_html(self): 43 | _content = [] 44 | _content.append("") 45 | _content.append("") 46 | _content.append("") 47 | _content.append("") 48 | for video in self.videos: 49 | _content.append("") 50 | _content.append("") 55 | _content.append( 56 | "%s" % (video.get_local_path(), video.get_title())) 57 | _content.append("") 58 | _content.append("") 59 | _content.append("
") 51 | _content.append("
" % (video.get_img_url())) 52 | _content.append( 53 | "%s" % (video.get_url(), video.get_title())) 54 | _content.append("
") 60 | _content.append("") 61 | _content.append("") 62 | 63 | html_cont = ''.join(_content) 64 | soup = BeautifulSoup(html_cont, "lxml") 65 | fout = codecs.open(SpiderConfig.VIDEOS_OUTPUT_LIST_FILE_PATH, 'w', encoding='utf-8') 66 | fout.write(soup.prettify()) 67 | fout.close() 68 | 69 | def mergeTS(self, desc_file_name, temp_dir_path, delete=True): 70 | desc_path = os.path.join(SpiderConfig.VIDEOS_OUTPUT_PATH, desc_file_name) 71 | if os.path.exists(desc_path): 72 | print('目标文件%s已存在' % desc_path) 73 | else: 74 | os.chdir(temp_dir_path) 75 | boxer = TSFileMergeUtil.get_sorted_ts(temp_dir_path) 76 | TSFileMergeUtil.convert_m3u8(boxer, desc_path) 77 | os.chdir(SpiderConfig.VIDEOS_OUTPUT_PATH) 78 | # if delete: 79 | # shutil.rmtree(temp_dir_path) 80 | return desc_path -------------------------------------------------------------------------------- /HtmlDownloader/VideoDownloader.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: VideoDownloader 5 | Description : 6 | Author : qiuqiu 7 | date: 2019/10/27 8 | ------------------------------------------------- 9 | """ 10 | import os 11 | import re 12 | from concurrent.futures import wait, ALL_COMPLETED 13 | from concurrent.futures.thread import ThreadPoolExecutor 14 | 15 | from pySmartDL import SmartDL 16 | 17 | import SpiderConfig 18 | from Entites.Video import Video 19 | from Utils import RequestUtil 20 | 21 | 22 | class XVideoDownloader(object): 23 | 24 | def __init__(self): 25 | self.video = None 26 | self.count = 0 27 | self.ts_num = 0 28 | self.ts_file_list = [] 29 | 30 | def set_video(self, video): 31 | self.video = video 32 | self.count = 0 33 | self.ts_num = len(video.get_real_url()) 34 | self.ts_file_list = [] 35 | 36 | def download_parallel(self): 37 | # 线程池 38 | file_path = os.path.join(SpiderConfig.VIDEOS_OUTPUT_TEMP_PATH, self.video.get_title()) 39 | if not os.path.exists(file_path): 40 | os.makedirs(file_path) 41 | 42 | with ThreadPoolExecutor(max_workers=SpiderConfig.PARALLEL_NUM) as excutor: 43 | all_task = [excutor.submit(self.download, file_path, url) for url in self.video.get_real_url()] 44 | wait(all_task, return_when=ALL_COMPLETED) 45 | return file_path 46 | 47 | def download(self, parent_path, ts_url): 48 | re_str = r'hls-\d{3,4}p(?:-[a-zA-Z0-9]{5})?(\d+.ts)' 49 | # 目前见过两种,相对路径的前缀分别形如hls-720p3.ts, hls-360p-ba36e0.ts 50 | ts_name = re.search(re_str, ts_url).group(1) 51 | # ts_content = RequestUtil.download_content(ts_url, proxies=SpiderConfig.PROXIES) 52 | ts_content = RequestUtil.download_content(ts_url) 53 | if ts_content: 54 | ts_path = os.path.join(parent_path, ts_name) 55 | with open(ts_path, 'wb') as f: 56 | f.write(ts_content) 57 | f.flush() 58 | self.count += 1 59 | self.ts_file_list.append(ts_path) 60 | print("\r视频进度:%.2f%%" % (self.count / self.ts_num * 100), end=' ') 61 | 62 | class XNXXVideoDownloader(object): 63 | def __init__(self): 64 | self.video = None 65 | 66 | def set_video(self, video): 67 | self.video = video 68 | 69 | def download_parallel(self): 70 | file_path = os.path.join(SpiderConfig.VIDEOS_OUTPUT_TEMP_PATH, self.video.get_title()) 71 | if not os.path.exists(file_path): 72 | os.makedirs(file_path) 73 | self.download(file_path, self.video.get_title() + '.mp4', self.video.get_url()) 74 | return file_path 75 | 76 | def download(self, parent_path, filename, url): 77 | obj = SmartDL(url, parent_path) 78 | obj.start() 79 | 80 | if __name__ == "__main__": 81 | d = XNXXVideoDownloader() 82 | video = Video('S-Cute', 'https://vid-egc.xnxx-cdn.com/videos/mp4/3/e/a/xvideos.com_3eabfb06537aacf1f8c7ef09022108c3-1.mp4?Sk6tylpHMgUFALI-IFFhxjqKZPedahTPWg1nkkvaBN4QB3tIwJ-27_9Vn4X_m3ekBa3CIHk5roQPLyPtlmUaVg3dsDPLnpR2fNUh49_4y-AoS1MBEihjQvSxvN2B8wpPcoGvs_SoyTslc1S_bzGvYkYZT7VPBL3ilHd0dKVXXILQ2V2rfrkFFs2kB5Wc0YUMK3gdlAjxwiYzwQ&ui=MTcyLjk2LjIxOS41MC0vdmlkZW8taDViMzcyNy9zLWN1dGU=') 83 | d.set_video(video) 84 | d.download_parallel() -------------------------------------------------------------------------------- /xvideos.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: xvideos 5 | Description : 6 | Author : qiuqiu 7 | date: 2019/10/23 8 | ------------------------------------------------- 9 | """ 10 | import json 11 | import random 12 | import re 13 | from collections import namedtuple 14 | from html import unescape 15 | 16 | import requests 17 | from bs4 import BeautifulSoup 18 | 19 | 20 | class XvideosException(Exception): 21 | pass 22 | 23 | 24 | Comment = namedtuple('Comment', ['author', 'content', 'datediff', 'country', 'score']) 25 | 26 | PATTERN = re.compile(r'/video(\d+)/.*') 27 | N_ATTEMPTS = 5 28 | 29 | 30 | def _fetch_page(url): 31 | proxies = {'http': '127.0.0.1:1080', 'https': '127.0.0.1:1080'} 32 | res = requests.get(url, proxies=proxies) 33 | 34 | if res.status_code != 200: 35 | raise Exception(f'Response Error: {res.status_code}') 36 | 37 | return BeautifulSoup(res.text, 'html.parser') 38 | 39 | 40 | def _find_videos(soup): 41 | result = [] 42 | 43 | for element in soup.select('.thumb-block > div > p > a'): 44 | print(element) 45 | try: 46 | reference = PATTERN.match(element['href']).group(1) 47 | except AttributeError: 48 | pass 49 | 50 | result.append(reference) 51 | return result 52 | 53 | 54 | def _get_comments(video_ref): 55 | url_mask = 'https://www.xvideos.com/video-get-comments/{0}/0/' 56 | url_mask = 'https://www.xvideos.com/threads/video-comments/get-posts/top/{0}/0/0' 57 | url = url_mask.format(video_ref) 58 | proxies = {'http': '127.0.0.1:1080', 'https': '127.0.0.1:1080'} 59 | res = requests.post(url, proxies=proxies) 60 | 61 | if res.status_code != 200: 62 | raise Exception('Response Error: ' + str(res.status_code)) 63 | 64 | posts = json.loads(res.text)['posts'] 65 | 66 | if posts['nb_posts_total'] < 1: 67 | return 68 | 69 | def get_safe(prop): 70 | x = item.get(prop, '') 71 | return unescape(x) if x and isinstance(x, str) else None 72 | 73 | result = [] 74 | 75 | for item in posts['posts'].values(): 76 | try: 77 | score = item['votes']['nb'] - item['votes']['nbb'] 78 | except (KeyError, TypeError): 79 | score = 0 80 | 81 | comment = Comment( 82 | get_safe('name') or 'Unknown user', 83 | get_safe('message'), 84 | get_safe('time_diff') or 'some time ago', 85 | get_safe('country_name') or 'unknown region', 86 | score 87 | ) 88 | 89 | result.append(comment) 90 | 91 | return result 92 | 93 | 94 | def choose_random_porn_comment(search_term=None): 95 | for _ in range(N_ATTEMPTS): 96 | r = random.randint(1, 10) 97 | 98 | if search_term: 99 | url = f'https://www.xvideos.com/?k={search_term}&p={r}' 100 | else: 101 | url = f'https://www.xvideos.com/' 102 | 103 | page = _fetch_page(url) 104 | references = _find_videos(page) 105 | if not references: 106 | msg = 'No videos were found' 107 | if search_term: 108 | msg += f' with search term "{search_term}"' 109 | raise XvideosException(msg + '. :(') 110 | 111 | comments = _get_comments(random.choice(references)) 112 | 113 | if not comments: 114 | continue 115 | 116 | return random.choice(comments) 117 | 118 | raise XvideosException(f'No comments were found after {N_ATTEMPTS} attempts. :(') 119 | 120 | 121 | def main(): 122 | comment = choose_random_porn_comment() 123 | print(comment) 124 | print() 125 | 126 | 127 | if __name__ == '__main__': 128 | main() 129 | -------------------------------------------------------------------------------- /merge_ts_file.py: -------------------------------------------------------------------------------- 1 | import os 2 | import re 3 | import functools 4 | 5 | def cmp(a,b): 6 | na = re.search(r'(\d+).ts', a).group(1) 7 | nb = re.search(r'(\d+).ts', b).group(1) 8 | if int(na) > int(nb): 9 | return 1 10 | else: 11 | return -1 12 | 13 | def merge_less_100(ts_file_list, dir_path, name): 14 | 15 | ffmpeg_path = r'C:\CS\ffmpeg\bin\ffmpeg.exe' #ffmpeg绝对路径 16 | win_merge = 2 #windows下合并ts视频的方式,1为copy/b,2为ffmpeg 17 | 18 | if os.name == 'nt': #windows 19 | pan = re.search(r'^[a-zA-Z]:',dir_path) 20 | elif os.name == 'posix': 21 | pan = re.search(r'^/root',dir_path) 22 | 23 | if pan: #dir_path是绝对路径 24 | dir_path2 = dir_path 25 | else: #dir_path是相对路径 26 | run_path = os.path.dirname(os.path.abspath('__file__')) 27 | dir_path2 = os.path.join(run_path, dir_path) #最终都获得绝对路径 28 | 29 | ts_file_list = sorted(ts_file_list,key=functools.cmp_to_key(cmp)) 30 | if os.name == 'nt' and win_merge == 1: #copy/b 31 | input_file = '+'.join(ts_file_list) 32 | elif os.name == 'posix' or (os.name == 'nt' and win_merge == 2): #ffmpeg 33 | input_file = '|'.join(ts_file_list) 34 | output_file = name 35 | 36 | if os.name == 'nt': 37 | command = '' 38 | #command = 'chcp 65001 & ' #cmd编码设为utf-8 39 | command += 'cd /d "%s" & ' % dir_path2 40 | if win_merge == 1: #copy/b 41 | command += 'copy/b %s "%s" & ' % (input_file, output_file) 42 | elif win_merge == 2: #ffmpeg 43 | if not re.match(r'new\d+?.ts',output_file): #ts视频数大于100的第二轮合并或是ts视频数小于100的合并(output_file名为最终文件名的都要经过中间名称,output_file为new\d的不用) 44 | command += '%s -i "concat:%s" -y -acodec copy -vcodec copy -crf 0 "%s" & '%(ffmpeg_path,input_file,'av.mp4') #使用ffmpeg将ts合并为mp4 #使用替身名称,否则ffmpeg遇utf-8字符不工作 45 | else: #ts视频数大于100的第一轮合并 46 | command += '%s -i "concat:%s" -y -acodec copy -vcodec copy -crf 0 "%s" & '%(ffmpeg_path,input_file,output_file) 47 | os.popen(command).read() 48 | if ( (name in os.listdir(dir_path) and 49 | os.path.getsize(os.path.join(dir_path,name))>0 ) or 50 | ('av.mp4' in os.listdir(dir_path) and #av.mp4是路径过长而无法改名导致的 51 | os.path.getsize(os.path.join(dir_path,'av.mp4'))>0) ): #合并成功再删除ts文件 52 | command = '' 53 | command += 'cd /d "%s" & ' % dir_path2 54 | for i in ts_file_list: 55 | command += 'del /Q %s $ ' % i 56 | os.popen(command).read() 57 | #with open('4.txt','a+',encoding='utf-8')as f: 58 | # f.write(command+'\n\n\n') 59 | if win_merge ==2 and not re.match(r'new\d+?.ts',output_file): 60 | command = '' 61 | command += 'cd /d "%s" & ' % dir_path2 62 | command += 'ren "%s" "%s"' % ('av.mp4', output_file) #再把名字换回去 #av后要有文件格式的后缀,否则ffmpeg报错 63 | os.popen(command).read() 64 | 65 | elif os.name == 'posix': #linux采用ffmpeg合并 #ffmpeg后面加上-logevel quiet 不向控制台打印信息 #-crf 0为无损 #-y遇到同名文件则覆盖 66 | command = '' 67 | command += 'cd "%s" && '%dir_path2 #进入视频所在路径 68 | command += 'ffmpeg -i "concat:%s" -y -loglevel quiet -acodec copy -vcodec copy -crf 0 "%s" && '%(input_file,output_file) #使用ffmpeg将ts合并为mp4 69 | for i in ts_file_list: 70 | command += 'rm -rf %s && '%i 71 | 72 | #os.popen(command).read() #os.pepen不会弹出cmd的黑框 #使用read()巧妙地阻塞os.popen 73 | ''' 74 | 1、多条命令时不能调用多个os.system或os.popen命令 75 | 因为每条命令都是单独的一个进程 76 | 比如改变了路径后,但下一个os.system或os.popen又回到了最初的路径 77 | 可以将每条命令用&间隔开,然后一次执行 78 | 2、在windows命令提示符下使用的字符串的最大的长度 8191 个字符。 79 | 数量巨大时分批处理 80 | ''' 81 | 82 | def merge(ts_file_list, dir_path, name): 83 | if os.name == 'nt': 84 | if len(ts_file_list)<=100: 85 | merge_less_100(ts_file_list, dir_path, name) 86 | else: 87 | ts_file_list = sorted(ts_file_list,key=functools.cmp_to_key(cmp)) 88 | for i in range((len(ts_file_list)-1)//100+1): 89 | merge_less_100(ts_file_list[i*100:i*100+100], dir_path, 'new%d.ts'%i) 90 | new_ts_file_list = [] 91 | for file in os.listdir(dir_path): 92 | if re.match(r'new\d+?.ts', file): 93 | new_ts_file_list.append(file) 94 | merge_less_100(new_ts_file_list, dir_path, name) 95 | elif os.name == 'posix': 96 | merge_less_100(ts_file_list, dir_path, name) #未测试 -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | ### VirtualEnv template 3 | # Virtualenv 4 | # http://iamzed.com/2009/05/07/a-primer-on-virtualenv/ 5 | .Python 6 | [Bb]in 7 | [Ii]nclude 8 | [Ll]ib 9 | [Ll]ib64 10 | [Ll]ocal 11 | [Ss]cripts 12 | pyvenv.cfg 13 | .venv 14 | pip-selfcheck.json 15 | __pycache__/ 16 | 17 | ### JetBrains template 18 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm 19 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 20 | 21 | # User-specific stuff 22 | .idea/**/workspace.xml 23 | .idea/**/tasks.xml 24 | .idea/**/usage.statistics.xml 25 | .idea/**/dictionaries 26 | .idea/**/shelf 27 | 28 | # Generated files 29 | .idea/**/contentModel.xml 30 | 31 | # Sensitive or high-churn files 32 | .idea/**/dataSources/ 33 | .idea/**/dataSources.ids 34 | .idea/**/dataSources.local.xml 35 | .idea/**/sqlDataSources.xml 36 | .idea/**/dynamic.xml 37 | .idea/**/uiDesigner.xml 38 | .idea/**/dbnavigator.xml 39 | 40 | # Gradle 41 | .idea/**/gradle.xml 42 | .idea/**/libraries 43 | 44 | # Gradle and Maven with auto-import 45 | # When using Gradle or Maven with auto-import, you should exclude module files, 46 | # since they will be recreated, and may cause churn. Uncomment if using 47 | # auto-import. 48 | # .idea/modules.xml 49 | # .idea/*.iml 50 | # .idea/modules 51 | # *.iml 52 | # *.ipr 53 | 54 | # CMake 55 | cmake-build-*/ 56 | 57 | # Mongo Explorer plugin 58 | .idea/**/mongoSettings.xml 59 | 60 | # File-based project format 61 | *.iws 62 | 63 | # IntelliJ 64 | out/ 65 | 66 | # mpeltonen/sbt-idea plugin 67 | .idea_modules/ 68 | 69 | # JIRA plugin 70 | atlassian-ide-plugin.xml 71 | 72 | # Cursive Clojure plugin 73 | .idea/replstate.xml 74 | 75 | # Crashlytics plugin (for Android Studio and IntelliJ) 76 | com_crashlytics_export_strings.xml 77 | crashlytics.properties 78 | crashlytics-build.properties 79 | fabric.properties 80 | 81 | # Editor-based Rest Client 82 | .idea/httpRequests 83 | 84 | # Android studio 3.1+ serialized cache file 85 | .idea/caches/build_file_checksums.ser 86 | 87 | ### Python template 88 | # Byte-compiled / optimized / DLL files 89 | __pycache__/ 90 | *.py[cod] 91 | *$py.class 92 | 93 | # C extensions 94 | *.so 95 | 96 | # Distribution / packaging 97 | .Python 98 | build/ 99 | develop-eggs/ 100 | dist/ 101 | downloads/ 102 | eggs/ 103 | .eggs/ 104 | lib/ 105 | lib64/ 106 | parts/ 107 | sdist/ 108 | var/ 109 | wheels/ 110 | pip-wheel-metadata/ 111 | share/python-wheels/ 112 | *.egg-info/ 113 | .installed.cfg 114 | *.egg 115 | MANIFEST 116 | 117 | # PyInstaller 118 | # Usually these files are written by a python script from a template 119 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 120 | *.manifest 121 | *.spec 122 | 123 | # Installer logs 124 | pip-log.txt 125 | pip-delete-this-directory.txt 126 | 127 | # Unit test / coverage reports 128 | htmlcov/ 129 | .tox/ 130 | .nox/ 131 | .coverage 132 | .coverage.* 133 | .cache 134 | nosetests.xml 135 | coverage.xml 136 | *.cover 137 | .hypothesis/ 138 | .pytest_cache/ 139 | 140 | # Translations 141 | *.mo 142 | *.pot 143 | 144 | # Django stuff: 145 | *.log 146 | local_settings.py 147 | db.sqlite3 148 | 149 | # Flask stuff: 150 | instance/ 151 | .webassets-cache 152 | 153 | # Scrapy stuff: 154 | .scrapy 155 | 156 | # Sphinx documentation 157 | docs/_build/ 158 | 159 | # PyBuilder 160 | target/ 161 | 162 | # Jupyter Notebook 163 | .ipynb_checkpoints 164 | 165 | # IPython 166 | profile_default/ 167 | ipython_config.py 168 | 169 | # pyenv 170 | .python-version 171 | 172 | # pipenv 173 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 174 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 175 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 176 | # install all needed dependencies. 177 | #Pipfile.lock 178 | 179 | # celery beat schedule file 180 | celerybeat-schedule 181 | 182 | # SageMath parsed files 183 | *.sage.py 184 | 185 | # Environments 186 | .env 187 | .venv 188 | env/ 189 | venv/ 190 | ENV/ 191 | env.bak/ 192 | venv.bak/ 193 | 194 | # Spyder project settings 195 | .spyderproject 196 | .spyproject 197 | 198 | # Rope project settings 199 | .ropeproject 200 | 201 | # mkdocs documentation 202 | /site 203 | 204 | # mypy 205 | .mypy_cache/ 206 | .dmypy.json 207 | dmypy.json 208 | 209 | # Pyre type checker 210 | .pyre/ 211 | .文件/** 212 | .idea/** 213 | **/__pycache__/** 214 | 215 | "\346\226\207\344\273\266/" 216 | /文件/** 217 | /视频/** 218 | -------------------------------------------------------------------------------- /SpiderManager/SpiderManager.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: SpiderMain 5 | Description : 爬虫调度器,首先要对各个模块初始化,然后通过crawl(root_url), 6 | 完成流程运转 7 | 8 | Author : qiuqiu 9 | date: 2019/10/22 10 | ------------------------------------------------- 11 | """ 12 | import datetime 13 | import threading 14 | import time 15 | from multiprocessing import Queue 16 | 17 | import SpiderConfig 18 | from DataOutput.DataOutput import DataOutput 19 | from HtmlDownloader.HtmlDownloader import HtmlDownloader 20 | from HtmlDownloader.VideoDownloader import XVideoDownloader 21 | from HtmlParser.HtmlParser import HtmlParser 22 | from HtmlParser.VideoParser import VideoParser 23 | from URLManager.URLManager import UrlManager 24 | 25 | 26 | class SpiderManager(object): 27 | def __init__(self): 28 | self.manager = UrlManager() 29 | self.downloader = HtmlDownloader() 30 | self.videodownloader = XVideoDownloader() 31 | self.videoParser = HtmlParser() 32 | self.tsParser = VideoParser() 33 | self.output = DataOutput() 34 | self.video_queue = Queue() 35 | self.video_download_queue = Queue() 36 | 37 | def run(self): 38 | threads = [] 39 | t1 = threading.Thread(target=self.start_video_url_crawl) 40 | t2 = threading.Thread(target=self.start_video_ts_url_crawl) 41 | t3 = threading.Thread(target=self.start_video_ts_download) 42 | threads.append(t1) 43 | threads.append(t2) 44 | threads.append(t3) 45 | for t in threads: 46 | t.start() 47 | for t in threads: 48 | t.join() 49 | print('all DONE') 50 | 51 | def start_video_url_crawl(self): 52 | for v_url in SpiderConfig.urls: 53 | print("开始获取%s上的视频..." % v_url) 54 | videoes = self._crawl_videoes_url(v_url) 55 | if videoes: 56 | for video in videoes: 57 | print("将 %s 进入video_queue中...队列个数%s" % (video.get_title(), self.video_queue.qsize())) 58 | self.video_queue.put(video) 59 | 60 | 61 | def start_video_ts_url_crawl(self): 62 | while True: 63 | if self.video_queue.empty(): 64 | time.sleep(1) 65 | try: 66 | video = self.video_queue.get() 67 | print("从video_queue中获取%s..." % video.get_title()) 68 | ts_urls = self._crawl_video_ts_urls(video.get_url()) 69 | video.set_real_url(ts_urls) 70 | print("将%s进入video_download_queue中..." % video.get_title()) 71 | self.video_download_queue.put(video) 72 | except Exception as e: 73 | print(e) 74 | 75 | def start_video_ts_download(self): 76 | while True: 77 | if self.video_queue.empty(): 78 | time.sleep(1) 79 | try: 80 | _starttime = datetime.datetime.now() 81 | video = self.video_download_queue.get() 82 | print("从video_download_queue中获取%s..." % video.get_title()) 83 | # 下载视频并合并 84 | self.videodownloader.set_video(video) 85 | ts_temp_path = self.videodownloader.download_parallel() 86 | desc_path = self.output.mergeTS(video.get_title() + ".ts", ts_temp_path) 87 | video.set_local_path(desc_path) 88 | _endtime = datetime.datetime.now() 89 | _excutetime = (_endtime - _starttime).seconds 90 | print("已经抓取%s个视频链接(%d秒)" % (self.manager.video_size(), _excutetime)) 91 | except Exception as e: 92 | print(e) 93 | 94 | def _crawl_videoes_url(self, root_url): 95 | try: 96 | _starttime = datetime.datetime.now() 97 | # HTML下载器下载网页 98 | html = self.downloader.download_with_proxies(root_url) 99 | # HTML解析器抽取网页数据 100 | videos = self.videoParser.parser(root_url, html) 101 | return videos 102 | except Exception as e: 103 | print("crawl failed", e) 104 | return None 105 | 106 | def _crawl_video_ts_urls(self, videoURL): 107 | # HTML下载器下载网页 108 | html_cont = self.downloader.download_with_proxies(videoURL) 109 | title, m3u8baseurl, m3u8url = self.tsParser.m3u8parser(html_cont) 110 | m3u8content = self.downloader.download_with_proxies(m3u8url) 111 | m3u8HighestUrl = self.tsParser.m3u8HighestParser(m3u8baseurl, m3u8content) 112 | m3u8HighestContent = self.downloader.download_with_proxies(m3u8HighestUrl) 113 | tslist = self.tsParser.m3u8TSParser(m3u8baseurl, m3u8HighestContent) 114 | return tslist 115 | 116 | def get_video_queue(self): 117 | return self.video_queue 118 | 119 | def get_video_download_queue(self): 120 | return self.video_download_queue 121 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # xvdieos视频爬虫 2 | 3 | 网址:www.xvideos.com 4 | 5 | 需要科学上网 6 | 7 | ## 功能 8 | 9 | ​ 可实现单个视频下载、一个页面上所有视频下载、关键字搜索下载、最佳影片下载、标签页视频下载,下载包括30张图片、2张内容略图、预览视频、正片。 10 | 11 | ## 依赖 12 | 13 | python3:requests,bs4,lxml 14 | 15 | linux:`apt-get install ffmpeg` 16 | 17 | windows:[ffmepg]( "windows ffmpeg x64下载" )(可以使用系统自带的copy/b下位代替) 18 | 19 | ## 写在前面 20 | 21 | * #### 关于代理 22 | 23 | 本程序默认: 24 | 25 | * windows下采用http协议代理,端口为1080 26 | * linux下采用http协议代理,端口为8118 27 | 28 | 可在 **down_one.py** 中修改proxies的值来更换代理方式 29 | 30 | 后面会简单介绍如何搭建能运行本程序的代理环境 31 | 32 | * #### 变量更改 33 | 34 | * 根目录root_path,线程数num_thread,超时时限timeout,重新请求次数retry在 **down_one.py** 中修改 35 | 36 | * windows下ffmpeg的绝对路径ffmpeg_path,windows下使用copy/b或是ffmpeg的关联量win_merge在 **merge_ts_file.py** 中修改 37 | 38 | * #### 关于邮件 39 | 40 | 如果需要程序出错时向自己的邮箱发送邮件,需要修改sendEmail.py中的fromAdd, toAdd, \_pwd, 分别为发件邮箱地址,收件邮箱地址,发件邮箱[授权码](https://jingyan.baidu.com/article/8ebacdf065a1f149f65cd5b5.html "网易邮箱如何设置授权码") 41 | 42 | * #### 视频合并 43 | 44 | 下载的ts视频需要合并,windows下可自行选择copy/b或ffmpeg合并,linux下采用ffmpeg合并。 45 | 46 | 事实证明相较于ffmpeg合并的视频,采用copy/b合并的视频又大又卡又模糊(卡顿十分明显),请自行斟酌(默认ffmpeg,可在**merge_ts_file.py** 修改win_merge的值来更换) 47 | 48 | 49 | ## 文件简介 50 | 51 | * #### 主程序 52 | 53 | **down_one.py** 下载单个视频 54 | 55 | **down_some.py** 读取xvideos_urls.txt,下载视频 56 | 57 | **down_group.py** 下载关键字搜索出来的视频、最佳影片、标签视频 58 | 59 | * #### 辅助程序 60 | 61 | **merge_ts_file.py** 合并ts视频文件 62 | 63 | **sendEmail.py** 发送邮件 64 | 65 | **exception_handling.py** 程序异常时写入异常日志,并发送邮件 66 | 67 | **get_favorite_urls.py** 手动从浏览器中导出收藏夹后,使用本程序可提取出其中的xvideos的url 68 | 69 | **get_saved.py** 获取指定目录下,已经下载过的视频,并存入SAVED.txt,适用于删除了某些视频时更新SAVED.txt 70 | 71 | * #### 其他文件 72 | 73 | **xvideos_urls.txt** down_some.py从此文本中读入要爬取的视频网址 74 | 75 | **xvideos.log** 异常日志 76 | 77 | **SAVED.txt** 存放已经下载的视频的编号 78 | 79 | **NO EXISTS.txt** 存放不存在或被删除的视频的编号 80 | 81 | **ERROR.txt** 存放下载失败的ts文件信息(很鸡肋) 82 | 83 | **TAG NAME.txt** 存放自己指定的标签所对应的名称(用于通过down_group.py下载某个标签的前n页视频时,若曾经给此标签指定过名称,则提示是否沿用曾经指定的名称) 84 | 85 | **information.txt** 写入网页的标题与网址 86 | 87 | ## 代理介绍 88 | 89 | * ### windows 90 | 91 | 若使用ShadowsocksR客户端客户端科学上网,且使用默认设置,则该程序拿来就能用 92 | 93 | * ### linux 94 | 95 | 代理过程:provoxy 监听8118端口的http流量,将其转发给1080端口的sock5代理,并走 shadowsocks 到墙外。 96 | 97 | **以下为程序运行环境配置** 98 | 99 | (以下操作在阿里云Ubuntu16.4上通过) 100 | 101 | `apt-get update` 102 | 103 | 更新源 104 | 105 | `sudo apt-get install git` 106 | 107 | 安装git 108 | 109 | `git clone http://git.mrwang.pw/Reed/Linux_ssr_script.git` 110 | 111 | 在具有写权限的目录执行如下命令获取到ssr脚本仓库 112 | 113 | `cd Linux_ssr_script && chmod +x ./ssr` 114 | 115 | 进入刚刚克隆的仓库目录并赋予`ssr`脚本执行权限 116 | 117 | `sudo mv ./ssr /usr/local/sbin/` 118 | 119 | 将脚本放入可执行脚本的目录 120 | 121 | `ssr install ` 122 | 123 | 安装ssr,脚本会下载ssr客户端并移动到合适的位置 124 | 125 | `ssr config` 126 | 127 | 编辑配置文件,在里面输入你的节点连接信息,然后保存。 128 | 129 | ​ 配置文件内容形如 130 | 131 | ``` 132 | { 133 | "server": "服务器地址", 134 | "local_address": "127.0.0.1", 135 | "local_port": 1080, 136 | "timeout": 300, 137 | "workers": 1, 138 | "server_port": 80, 139 | "password": "密码", 140 | "method": "none", 141 | "obfs": "http_post", 142 | "obfs_param": "download.windowsupdate.com", 143 | "protocol": "auth_chain_a", 144 | "protocol_param": "3412:H2LChD" 145 | } 146 | ``` 147 | 148 | ​ 科学上网的节点这里不提供,请自行准备 149 | 150 | `sudo apt install privoxy` 151 | 152 | 安装privoxy 153 | 154 | `vim /etc/privoxy/config` 155 | 156 | ​ 默认的配置文件地址在 `/etc/privoxy/config` 目录下。假设本地 1080 端口已经启动,然后要将本地 1080 socks5 代理转成 http 代理,重要的配置只有两行。 157 | 158 | ``` 159 | # 把本地 HTTP 流量转发到本地 1080 SOCKS5 代理 160 | forward-socks5t / 127.0.0.1:1080 . 161 | # 可选,默认监听本地连接 162 | listen-address 127.0.0.1:8118 163 | ``` 164 | 165 | 使用如下命令启动 166 | 167 | ``` 168 | sudo /etc/init.d/privoxy start 169 | sudo /etc/init.d/privoxy force-reload # 不重启服务的情况下重新加载配置 170 | ``` 171 | 172 | VPS重启后需要重新启动ssr和privoxy,也可以设为启动项 173 | 174 | 参考: 175 | 176 | [Linux安装并使用ssr客户端](https://blog.mrwang.pw/2018/12/13/Linux%E5%AE%89%E8%A3%85%E5%B9%B6%E4%BD%BF%E7%94%A8ssr/ ) 177 | 178 | [使用 privoxy 转发 socks 到 http ](http://einverne.github.io/post/2018/03/privoxy-forward-socks-to-http.html ) 179 | 180 | ## 更新日志 181 | 182 | * 2019.8.10 183 | 184 | windows下创建文件夹时,文件夹名称最后一个字符是空格时,系统会删除此空格作为名称。解决了一个源此的bug 185 | 186 | * 2019.8.8 187 | 188 | 由于类的初始化不正确导致**down_group.py** 下载一个页面的所有视频时,下载到的图片都是同一组。已修复。 189 | 190 | 同时增添**get_saved.py** 191 | 192 | * 2019.7.23 193 | 194 | * 分离出merge_ts_file.py,在windows中引入ffmpeg,并解决copy/b不能合并过多ts文件的问题(cmd中字符串长度限制在八千多一些) 195 | 196 | (注意:合并ts视频的功能尚未在linux上测试) 197 | 198 | * 引入下载某图片或ts视频前检测是否存在的机制,存在则不再下载 199 | * 修改下载成功的条件,只有文件夹内存在title.ts且大小不为0,方写入SAVED.txt,避免合并失败却依旧写入SAVED.txt 200 | 201 | * 2019.7.22 202 | 203 | * 文本名称包含html实体时则将html实体转换,如&hel lip;转换为省略号 204 | 205 | * 解决OSError: [Errno 36] File name too long 206 | 207 | * 2019.7.21 208 | 209 | * 发现windows下ts文件过多时似乎不会合并,网上也有人遇到这种问题,可能是copy命令的锅 210 | 211 | * 2019.7.20 212 | 213 | * 晚 增添down_group.py 214 | 215 | * 午 基本完成 216 | 217 | * 2019.7.16 218 | 219 | * 晚 开始琢磨写这个爬虫 220 | 221 | -------------------------------------------------------------------------------- /Utils/RequestUtil.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | ------------------------------------------------- 4 | File Name: RequestUtil 5 | Description : 6 | Author : qiuqiu 7 | date: 2019/10/27 8 | ------------------------------------------------- 9 | """ 10 | import random 11 | 12 | import requests 13 | 14 | 15 | def download_content(url, proxies=None, timeout=10): 16 | if url is None: 17 | return None 18 | response = requests.get(url, proxies=proxies, timeout=timeout, headers=get_header()) 19 | if response.status_code == requests.codes.ok: 20 | return response.content 21 | return None 22 | 23 | 24 | ''' 25 | USER_AGENTS 随机头信息 26 | ''' 27 | USER_AGENTS = [ 28 | "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)", 29 | "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)", 30 | "Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.5; AOLBuild 4337.35; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)", 31 | "Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)", 32 | "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0)", 33 | "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.0.3705; .NET CLR 1.1.4322)", 34 | "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30)", 35 | "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 287 c9dfb30)", 36 | "Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.6", 37 | "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070215 K-Ninja/2.1.1", 38 | "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/20080705 Firefox/3.0 Kapiko/3.0", 39 | "Mozilla/5.0 (X11; Linux i686; U;) Gecko/20070322 Kazehakase/0.4.5", 40 | "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko Fedora/1.9.0.8-1.fc10 Kazehakase/0.5.6", 41 | "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", 42 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.20 (KHTML, like Gecko) Chrome/19.0.1036.7 Safari/535.20", 43 | "Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; fr) Presto/2.9.168 Version/11.52", 44 | "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.11 TaoBrowser/2.0 Safari/536.11", 45 | "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER", 46 | "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; LBBROWSER)", 47 | "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E; LBBROWSER)", 48 | "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.84 Safari/535.11 LBBROWSER", 49 | "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)", 50 | "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; QQBrowser/7.0.3698.400)", 51 | "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)", 52 | "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SV1; QQDownload 732; .NET4.0C; .NET4.0E; 360SE)", 53 | "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)", 54 | "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)", 55 | "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1", 56 | "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1", 57 | "Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5", 58 | "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.0b13pre) Gecko/20110307 Firefox/4.0b13pre", 59 | "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:16.0) Gecko/20100101 Firefox/16.0", 60 | "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11", 61 | "Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10" 62 | ] 63 | 64 | 65 | def get_header(): 66 | return { 67 | 'User-Agent': random.choice(USER_AGENTS), 68 | 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 69 | 'Accept-Language': 'en-US,en;q=0.5', 70 | 'Connection': 'keep-alive', 71 | 'Accept-Encoding': 'gzip, deflate', 72 | } 73 | -------------------------------------------------------------------------------- /down_group.py: -------------------------------------------------------------------------------- 1 | from exception_handling import log_exception 2 | import down_one 3 | from bs4 import BeautifulSoup 4 | import time, os, re, traceback 5 | 6 | 7 | def download_videos_of_one_page(url='', page_type='01-单页下载'): #page_type表示该页面是什么类型的,比如说是最佳影片,比如说搜索关键字是XX 8 | if traceback.extract_stack()[-2][2] == 'choice': 9 | url = input('请输入网址:') 10 | dir_name = input('请输入文件夹名称(最终文件存放于root_path/01-单页下载/自定义文件夹名):') 11 | xvideos = down_one.Xvideos() 12 | if traceback.extract_stack()[-2][2] == 'choice': 13 | root_path = os.path.join(xvideos.root_path, page_type, dir_name) 14 | else: 15 | root_path = os.path.join(xvideos.root_path, page_type) 16 | html = xvideos.repeat_request(url, final_fail_hint='request %s final fail'%url) 17 | if html: 18 | soup = BeautifulSoup(html, 'lxml') 19 | tag_list = soup.select('div.thumb-inside div.thumb a') 20 | urls_list = ['https://www.xvideos.com'+tag['href'] for tag in tag_list] 21 | for i, url in enumerate(urls_list): 22 | print('当前页进度: %d/%d'%(i+1, len(urls_list))) 23 | print('网址: %s'%url) 24 | xvideos = down_one.Xvideos(url) 25 | xvideos.root_path = root_path 26 | xvideos.download() 27 | xvideos.ts_file_list = [] 28 | print() 29 | 30 | 31 | def search_videos_pages(): #视频搜索 #n=1表示默认只下载第一页的所有视频 32 | search_key = input('请输入搜索关键字:') 33 | base_url = r'https://www.xvideos.com/?k=%s' % search_key 34 | n = input('请输入爬取页数:') 35 | for page in range(int(n)): 36 | if page != 0: 37 | url = base_url + r'&p=%d'%page #第二页的?p=1,依次类推 38 | else: 39 | url = base_url 40 | print('第%s页,共%s页' % (page+1, int(n))) 41 | download_videos_of_one_page(url, os.path.join('02-视频搜索', search_key)) 42 | 43 | 44 | def best_videos_pages(): #最佳影片 45 | data = input('请输入年月,格式形如2019-06:') 46 | base_url = r'https://www.xvideos.com/best/%s/' % data 47 | n = input('请输入爬取页数:') 48 | for page in range(int(n)): 49 | if page != 0: 50 | url = base_url + str(page) 51 | else: 52 | url = base_url 53 | print('第%s页,共%s页' % (page+1, int(n))) 54 | download_videos_of_one_page(url, os.path.join('03-最佳影片', data)) #视频文件夹保存在root_path/02-最佳影片/年月 55 | 56 | 57 | def tag_videos_pages(): #视频标签0 58 | ''' 59 | 标签的url的页数get传值有好几种(并不通用): 60 | 一种是关键字搜索类型的(本质上就是搜索了标签中的字),如https://www.xvideos.com/?k=3d&p=2 61 | 一种是不同的语言的、以及真·标签(tags)的,如https://www.xvideos.com/lang/chinese/2和https://www.xvideos.com/tags/big-ass/2/ 62 | 还有一种形如https://www.xvideos.com/c/2/ASMR-229 63 | 类型太多,不同类型的标签名所在位置不同,提取出标签名称太麻烦, 64 | 而且中文标签可能会提取出原来的英文标签,所以就不提取了,输入网址后由使用者自行键入标签名 65 | ''' 66 | #url = 'https://www.xvideos.com/c/Teen-13' ok 67 | url = input('请输入视频标签的第一页的网址:') 68 | tag_name = '' 69 | if os.path.exists('TAG NAME.txt'): 70 | with open('TAG NAME.txt','r',encoding='utf-8') as f1: 71 | for line in f1: 72 | if url+' ' in line: 73 | tag_name = re.search(r' (.*?)\n', line).group(1)#TAG NAME.txt中的一行,前为url,后为tag_name,空格间隔 74 | if input('本标签名称曾被指定为%s,是否沿用该名称?(y/n)'%tag_name) != 'y': 75 | with open('TAG NAME.txt','w',encoding='utf-8') as f2: #不沿用旧名称则将旧名称从文件中删掉 76 | for line in f1: 77 | if not url in line: 78 | f2.write(line) 79 | tag_name = input('请指定标签名称:') 80 | break 81 | if not tag_name: 82 | tag_name = input('请指定标签名称:') 83 | 84 | exists = False 85 | if os.path.exists('TAG NAME.txt'): 86 | with open('TAG NAME.txt','r',encoding='utf-8') as f: 87 | exists = False 88 | for line in f: 89 | if url in line: 90 | exists = True 91 | if not exists: 92 | with open('TAG NAME.txt','a+',encoding='utf-8') as f: 93 | f.write(url+' '+tag_name+'\n') 94 | 95 | xvideos = down_one.Xvideos() 96 | html = xvideos.repeat_request(url, final_fail_hint='request %s final fail'%url) 97 | if html: 98 | soup = BeautifulSoup(html, 'lxml') 99 | tag_list = soup.select('div.pagination ul li a') 100 | page2_url = tag_list[1]['href'] 101 | page3_url = tag_list[2]['href'] 102 | before = '' 103 | after = '' 104 | for i in range(len(page2_url)): 105 | if page2_url[i] != page3_url[i]: #通过比较该标签的第二页和第三页的url的不同找出页数在url中的位置 #如果视频只有一页或两页,会出错 106 | before = page2_url[:i] 107 | after = page2_url[i+1:] 108 | break 109 | if before: #如果页数在url的最后,则after是空串 110 | n = input('请输入爬取页数:') 111 | for page in range(int(n)): 112 | if page != 0: 113 | url = 'https://www.xvideos.com' + before + str(page) + after #url去除不同部分,与页数拼接得到第page页的url 114 | print(url) 115 | print('第%s页,共%s页' % (page+1, int(n))) 116 | download_videos_of_one_page(url, os.path.join('04-视频标签', tag_name)) #视频文件夹保存在root_path/02-最佳影片/年月 117 | else: 118 | print('出错了,请检查该标签的第二页和第三页的url是否存在不同') 119 | 120 | 121 | @log_exception 122 | def choice(): 123 | choice_type = input('请选择批量下载的类型:\n1-单页下载 2-视频搜索\n3-最佳影片 4-视频标签\n\nPS:4-视频标签的爬取必须保证视频页数大于等于3,否则请使用1次或2次1-单页下载\n请键入对应数字:') 124 | if choice_type == '1': 125 | download_videos_of_one_page() 126 | if choice_type == '2': 127 | search_videos_pages() 128 | if choice_type == '3': 129 | best_videos_pages() 130 | if choice_type == '4': 131 | tag_videos_pages() 132 | 133 | 134 | if __name__ == '__main__': 135 | url = 'https://www.xvideos.com/' 136 | url = 'https://www.xvideos.com/history' 137 | #url = 'https://www.xvideos.com/lang/japanese' ok 138 | #url = 'https://www.xvideos.com/lang/korean/1' 139 | #search_videos_pages(2) 140 | start = time.perf_counter() 141 | choice() 142 | end = time.perf_counter() 143 | print('任务执行共%d小时%d分%.2f秒' % ((end-start)//3600,(end-start)%3600//60,(end-start)%60)) 144 | -------------------------------------------------------------------------------- /down_one.py: -------------------------------------------------------------------------------- 1 | import html 2 | import os 3 | import re 4 | import threading 5 | import time 6 | 7 | import requests 8 | 9 | import merge_ts_file 10 | 11 | 12 | class Xvideos: 13 | 14 | def __init__(self, url=''): 15 | self.url = url 16 | self.video_num = -1 17 | # self.root_path = r'xvideos' #默认根目录为本程序所在目录下的xvideos文件夹 18 | self.root_path = u'文件' 19 | self.num_thread = 10 # 默认线程 20 | self.timeout = 10 # 超时时间设置 21 | self.retry = 10 # 请求网页失败的最大重试次数 22 | self.cover_num = -1 23 | self.count = 0 24 | self.html = '' 25 | self.title = '' 26 | self.video_success = True 27 | self.wrong_ts_infor = '' 28 | self.wrong_pic_infor = '' 29 | self.pic_url_list = [] 30 | self.ts_file_list = [] 31 | self.final_fail_ts_file_list = [] 32 | 33 | def right_url(self): 34 | if re.search(r'https?://www.xvideos.com/video\d+', self.url): 35 | return True 36 | else: 37 | print('url不正确') 38 | 39 | def should_pass(self, text_name): 40 | self.video_num = re.search(r'video(\d+)', self.url).group(1) 41 | if not os.path.exists(text_name): 42 | return False 43 | else: 44 | with open(text_name, 'r') as f: 45 | for line in f: 46 | if line[:-1] == self.video_num: 47 | if text_name == 'SAVED.txt': 48 | print('此视频已下载,跳过\n') 49 | elif text_name == 'NO EXISTS.txt': 50 | print('此视频不存在,跳过\n') 51 | return True 52 | return False 53 | 54 | def request(self, url, headers={}): 55 | default_http_proxy = '127.0.0.1:1080' if os.name == 'nt' else '127.0.0.1:8118' 56 | http_proxy = os.getenv('http_proxy') or os.getenv('HTTP_PROXY') or default_http_proxy 57 | https_proxy = os.getenv('https_proxy') or os.getenv('HTTPS_PROXY') or default_http_proxy 58 | proxies = { 'http': http_proxy, 'https': https_proxy } 59 | 60 | # if os.name == 'nt': # windows 61 | # proxies = {'http': '127.0.0.1:1080', 'https': '127.0.0.1:1080'} # ssr的win客户端采用1080端口的http协议 62 | # elif os.name == 'posix': # linux 63 | # proxies = {'http': '127.0.0.1:10809', 64 | # 'https': '127.0.0.1:10809'} # ssr+privoxy,通过privoxy将1080端口的socks协议转发给10809端口的http协议 65 | 66 | response = requests.get(url, timeout=self.timeout, proxies=proxies, headers=headers) 67 | return response.content 68 | 69 | def repeat_request(self, url, headers={}, fail_hint='', final_fail_hint=''): 70 | retry_times = 1 71 | while retry_times <= self.retry: 72 | try: 73 | response = self.request(url, headers={}) 74 | return response 75 | except: 76 | if fail_hint: 77 | print(eval(fail_hint)) 78 | retry_times += 1 79 | else: # while else 结构,正常时(不正常是指因为break return 异常等而退出循环)运行else内的语句 80 | if final_fail_hint: 81 | print(final_fail_hint) 82 | 83 | def mkdir(self): 84 | self.title = re.search(r'

(.*?)', self.html) 85 | if self.title: 86 | self.title = self.title.group(1).rstrip() 87 | self.title = html.unescape(self.title) # 转换html实体,如…转换为省略号 88 | self.title = re.sub(r'[\/\\\*\?\|/:"<>\.]', '', self.title) # 有的html实体也会转化出非法路径字符,也要去掉 89 | print('名称:', self.title) 90 | self.dir_path = os.path.join(self.root_path, self.title) 91 | if self.dir_path[-1] == ' ': # window创建文件夹时,文件夹名以空格结尾的会自动删掉空格 92 | self.dir_path = self.dir_path[:-1] 93 | print(self.dir_path) 94 | if not os.path.exists(self.dir_path): 95 | try: 96 | os.makedirs(self.dir_path) 97 | except OSError: # linux路径过长会OSError: [Errno 36] File name too long: #可参考https://stackoverflow.com/questions/34503540/why-does-python-give-oserror-errno-36-file-name-too-long-for-filename-short/34503913 98 | dir_path_len = len(self.dir_path) 99 | while True: 100 | try: 101 | dir_path_len -= 1 102 | self.dir_path = self.dir_path[:dir_path_len] 103 | os.makedirs(self.dir_path) 104 | print(1) 105 | os.rmdir(self.dir_path) # 删除空文件夹 106 | self.dir_path = self.dir_path[:-7] 107 | print(self.dir_path) 108 | if self.dir_path[-1] == ' ': 109 | self.dir_path = self.dir_path[:-1] 110 | os.makedirs(self.dir_path) # 待会还要与‘图片’文件夹拼接 111 | print(self.dir_path) 112 | break 113 | except: 114 | pass 115 | return True 116 | else: 117 | print("No title! Maybe the video no exists! Exit!") 118 | with open('NO EXISTS.txt', 'a+', encoding='utf-8') as f: 119 | f.write(self.video_num + '\n') 120 | return False 121 | 122 | def thread_image(self, part_n): 123 | for i in range(4): 124 | pic_num = part_n * 4 + i 125 | if str(pic_num + 1) + '.jpg' in os.listdir(os.path.join(self.dir_path, '图片')): 126 | self.count += 1 127 | print("\r图片进度:%.2f%%" % (self.count / 32 * 100), end=' ') 128 | else: 129 | url = self.pic_url_list[pic_num] 130 | img = self.repeat_request(url, 131 | fail_hint='"' + str(pic_num + 1) + '.jpg fail and retry ' + '%d"%retry_times', 132 | final_fail_hint=str(pic_num + 1) + '.jpg final fail!') 133 | if img: 134 | file_path = os.path.join(self.dir_path, '图片', str(pic_num + 1) + '.jpg') 135 | with open(file_path, 'wb') as fb: 136 | fb.write(img) 137 | 138 | if pic_num + 1 == self.cover_num: # 封面图片 139 | file_path = os.path.join(self.dir_path, '1.jpg') 140 | with open(file_path, 'wb') as fb: 141 | fb.write(img) 142 | if pic_num == 30 or pic_num == 31: # 最后两张是大纲缩略图 143 | file_path = os.path.join(self.dir_path, str(pic_num - 28) + '.jpg') 144 | with open(file_path, 'wb') as fb: 145 | fb.write(img) 146 | self.count += 1 147 | print("\r图片进度:%.2f%%" % (self.count / 32 * 100), end=' ') 148 | 149 | def download_image(self): 150 | pic_dict = ['setThumbUrl169', 'setThumbSlide', 'setThumbSlideBig'] 151 | for pic_key in pic_dict: 152 | if pic_key == 'setThumbUrl169': 153 | content = re.search(r"html5player\.%s\('(.*?)(\d+?)\.jpg'\);" % pic_key, self.html) 154 | pic_base_url = content.group(1) 155 | self.cover_num = int(content.group(2)) 156 | for i in range(1, 31): 157 | url = pic_base_url + '%d.jpg' % i 158 | self.pic_url_list.append(url) 159 | else: 160 | keyword = r"html5player\.%s\('(.*?)'\);" % pic_key 161 | url = re.search(keyword, self.html).group(1) 162 | self.pic_url_list.append(url) 163 | 164 | thread_list = [] 165 | self.count = 0 166 | if not os.path.exists(os.path.join(self.dir_path, '图片')): 167 | os.makedirs(os.path.join(self.dir_path, '图片')) 168 | for i in range(8): # 共32张图片,故开8线程,而不是沿用self.num_thread(因为担心不是整除32的,速度慢) 169 | t = threading.Thread(target=self.thread_image, kwargs={'part_n': i}) 170 | t.setDaemon(True) # 设置守护进程 171 | t.start() 172 | thread_list.append(t) 173 | for t in thread_list: 174 | t.join() # 阻塞主进程,进行完所有线程后再运行主进程 175 | print() 176 | 177 | def download_preview_video(self): # 下载预览视频 178 | if not '预览.mp4' in os.listdir(self.dir_path): 179 | re_str = r'/videos/thumbs169/(.*?)/mozaique' 180 | key = re.search(re_str, self.html).group(1) 181 | url = r'https://img-hw.xvideos-cdn.com/videos/videopreview/%s_169.mp4' % key # 以后下载预览视频失败时先检查对应的解析域名是否改变了 182 | video_data = self.repeat_request(url, fail_hint='"preview_video fail and retry %d"%retry_times', 183 | final_fail_hint='preview_video final fail!') 184 | if video_data: 185 | file_path = os.path.join(self.dir_path, '预览.mp4') 186 | with open(file_path, 'wb') as f: 187 | f.write(video_data) 188 | 189 | def download_ts_file(self, ts_url): 190 | re_str = r'hls-\d{3,4}p(?:-[a-zA-Z0-9]{5})?(\d+.ts)' 191 | # 目前见过两种,相对路径的前缀分别形如hls-720p3.ts, hls-360p-ba36e0.ts 192 | ts_name = re.search(re_str, ts_url).group(1) 193 | if ts_name in os.listdir(self.dir_path): 194 | self.count += 1 195 | self.ts_file_list.append(ts_name) 196 | print("\r视频进度:%.2f%%" % (self.count / self.ts_num * 100), end=' ') 197 | else: 198 | ts_file = self.repeat_request(ts_url, headers={'Connection': 'close'}, 199 | fail_hint='"' + ts_name + ' fail and retry ' + '%d"%retry_times', 200 | final_fail_hint=ts_name + ' final failed! Add it into ERROR.txt') 201 | if ts_file: 202 | file_path = os.path.join(self.dir_path, ts_name) 203 | with open(file_path, 'ab') as f: 204 | f.write(ts_file) 205 | f.flush() 206 | self.count += 1 207 | self.ts_file_list.append(ts_name) 208 | print("\r视频进度:%.2f%%" % (self.count / self.ts_num * 100), end=' ') 209 | else: 210 | with open('ERROR.txt', 'a+', encoding='utf-8') as f: 211 | f.write("{'%s': '%s'}\n" % (ts_url, self.dir_path)) 212 | self.video_success = False 213 | 214 | def thread_video(self, start, end, part): 215 | for num, ts_url in enumerate(self.ts_url_list[start:end]): 216 | try: 217 | self.download_ts_file(ts_url) 218 | except: 219 | self.video_success = False 220 | raise 221 | 222 | def download_video(self): # 结构为:获取ts链接,多线程爬取,合并 223 | m3u8_url = re.search(r"html5player\.setVideoHLS\('(.*?)'\);", self.html).group(1) # 总的m3u8链接 224 | m3u8_content = self.repeat_request(m3u8_url, fail_hint="'get m3u8 fail and retry %d'%retry_times", 225 | final_fail_hint='get m3u8 fail! Exit!') # 内含不同的清晰度所对应的m3u8链接 226 | if m3u8_content: 227 | base_url = re.search(r"(.*?)hls.m3u8", m3u8_url).group(1) # 从m3u8_url中取出,留待拼接 228 | m3u8_content = m3u8_content.decode('utf-8') 229 | definition_list = re.findall(r'NAME="(.*?)p"', m3u8_content) 230 | max_definition = str(max(list(map(int,definition_list)))) # 找到最高清晰度 231 | line_list = m3u8_content.split('\n') 232 | for line in line_list: 233 | if 'hls-' in line and max_definition in line: 234 | max_definition_m3u8_url = line # 最高清晰度的m3u8链接(相对路径) 235 | max_definition_m3u8_url = base_url + max_definition_m3u8_url 236 | max_definition_m3u8_content = self.repeat_request(max_definition_m3u8_url, 237 | fail_hint="'get max_definition_m3u8 fail and retry %d'%retry_times", 238 | final_fail_hint='get max_definition_m3u8 final fail! Exit!') # 内含该m3u8视频的ts文件信息 239 | if max_definition_m3u8_content: 240 | max_definition_m3u8_content = max_definition_m3u8_content.decode('utf-8') 241 | self.ts_url_list = [] 242 | for line in max_definition_m3u8_content.split('\n'): 243 | if '.ts' in line: 244 | self.ts_url_list.append(base_url + line) 245 | self.ts_num = len(self.ts_url_list) 246 | ''' 247 | 拿到ts文件链接的流程是: 248 | 从视频页源代码中找到html5player.setVideoHLS,拿到总的m3u8链接(绝对路径) 249 | 请求内容,拿到不同清晰度的m3u8链接(相对路径) 250 | 找出最高清晰度的m3u8链接(相对路径) 251 | 从总的m3u8链接切割出base路径,与找出的相对路径拼接 252 | 请求内容,拿到诸多ts文件链接(相对链接) 253 | 再拼接 254 | ''' 255 | if self.ts_num < self.num_thread: 256 | self.num_thread = self.ts_num # 线程数若大于ts文件数,则线程数减少到ts文件数 257 | part = self.ts_num // self.num_thread # 分块。如果不能整除,最后一块应该多几个字节 258 | thread_list = [] 259 | self.count = 0 260 | for i in range(self.num_thread): 261 | start = part * i # 第part个线程的起始url下标 262 | if i == self.num_thread - 1: # 最后一块 263 | end = self.ts_num # 第part个线程的终止url下标 264 | else: 265 | end = start + part # 第part个线程的终止url下标 266 | t = threading.Thread(target=self.thread_video, kwargs={'start': start, 'end': end, 'part': part}) 267 | t.setDaemon( 268 | True) # 设置守护进程;必须在start()之前设置;如果为True则主程序不用等此线程结束后再结束主程序;当我们使用setDaemon(True)方法,设置子线程为守护线程时,主线程一旦执行结束,则全部线程全部被终止执行,可能出现的情况就是,子线程的任务还没有完全执行结束,就被迫停止 269 | t.start() 270 | thread_list.append(t) 271 | # 等待所有线程下载完成 272 | for t in thread_list: 273 | t.join() # 阻塞主进程,进行完所有线程后再运行主进程 274 | 275 | if self.video_success: 276 | merge_ts_file.merge(self.ts_file_list, self.dir_path, self.title + '.mp4') 277 | if ((self.title + '.mp4' in os.listdir(self.dir_path) and 278 | os.path.getsize(os.path.join(self.dir_path, 279 | self.title + '.mp4')) > 0) or # 只有合并了才算成功(存在'title'.ts或是av.mp4且大小不为0) 280 | ('av.mp4' in os.listdir(self.dir_path) and # av.mp4是路径过长而无法改名导致的 281 | os.path.getsize(os.path.join(self.dir_path, 'av.mp4')) > 0)): 282 | print('\n%s 合并成功\n' % self.title) # 视频下载完成就算任务完成,图片和预览视频允许失败 283 | with open('SAVED.txt', 'a+', encoding='utf-8') as f: 284 | f.write(str(self.video_num) + '\n') 285 | else: 286 | with open('merge fail.txt', 'w', encoding='utf-8') as f: 287 | f.write(self.video_num + '\n') 288 | if self.final_fail_ts_file_list: 289 | for i in self.final_fail_ts_file_list: 290 | print(i, end=' ') 291 | print('final fail! NO merge ts_file!') 292 | print(self.title + ' 失败结束') 293 | 294 | def write(self): 295 | file_path = os.path.join(self.dir_path, 'information.txt') 296 | with open(file_path, 'w', encoding='utf-8') as f: 297 | f.write('标题:\n%s\n网址:\n%s\n' % (self.title, self.url)) 298 | 299 | def download(self): 300 | if self.right_url() and not self.should_pass('SAVED.txt') and not self.should_pass('NO EXISTS.txt'): 301 | self.count = 0 302 | self.html = self.repeat_request(self.url, fail_hint="'get html fail and retry %d'%retry_times", 303 | final_fail_hint='get html fianl fail! Exit!') 304 | if self.html: 305 | self.html = self.html.decode('utf-8') 306 | if self.mkdir(): 307 | self.download_image() 308 | self.download_preview_video() 309 | self.download_video() 310 | self.write() 311 | return True 312 | 313 | 314 | if __name__ == '__main__': 315 | # url = input('请输入网址:\n') 316 | url = 'https://www.xvideos.com/video35904115/who_is_this_girl_' 317 | start = time.perf_counter() 318 | xvideos = Xvideos(url) 319 | xvideos.download() 320 | end = time.perf_counter() 321 | print('任务执行共%d小时%d分%.2f秒' % ((end - start) // 3600, (end - start) % 3600 // 60, (end - start) % 60)) 322 | -------------------------------------------------------------------------------- /SAVED.txt: -------------------------------------------------------------------------------- 1 | 47859095 2 | 31640165 3 | 37854819 4 | 40410019 5 | 45600061 6 | 38585323 7 | 27179461 8 | 26060377 9 | 15247349 10 | 44559489 11 | 29963269 12 | 24710791 13 | 31647053 14 | 44640141 15 | 42198759 16 | 29647931 17 | 20333917 18 | 25757509 19 | 30731971 20 | 36877707 21 | 39886539 22 | 40195511 23 | 46715363 24 | 41594843 25 | 37492843 26 | 29209813 27 | 42050733 28 | 42017723 29 | 48446099 30 | 33283985 31 | 39004097 32 | 26200813 33 | 21635571 34 | 40179715 35 | 49331025 36 | 48999093 37 | 28052077 38 | 49225765 39 | 26040399 40 | 37490457 41 | 39298400 42 | 37604627 43 | 48738655 44 | 33913159 45 | 27635043 46 | 28388183 47 | 40408321 48 | 49112671 49 | 49220255 50 | 20606417 51 | 20781759 52 | 48352493 53 | 48316191 54 | 47315817 55 | 47915723 56 | 25935975 57 | 27915937 58 | 28332451 59 | 24370845 60 | 32529887 61 | 49128459 62 | 39786485 63 | 36898941 64 | 48370245 65 | 41904605 66 | 25098593 67 | 25968965 68 | 43842621 69 | 10793389 70 | 48608809 71 | 30116441 72 | 37095375 73 | 35474961 74 | 6906911 75 | 30678391 76 | 30705193 77 | 41689431 78 | 48350381 79 | 29174823 80 | 8459334 81 | 8642988 82 | 29664877 83 | 33018949 84 | 22889047 85 | 455920 86 | 35904929 87 | 20868507 88 | 41779173 89 | 39636391 90 | 26237493 91 | 27797373 92 | 10090192 93 | 34328693 94 | 19979327 95 | 45559526 96 | 48099711 97 | 42066239 98 | 48300218 99 | 49284073 100 | 48260580 101 | 49220923 102 | 48696097 103 | 30659975 104 | 22992453 105 | 9539615 106 | 49132081 107 | 21547891 108 | 30994821 109 | 32835995 110 | 47587647 111 | 46751691 112 | 48172853 113 | 46243641 114 | 46429813 115 | 46749449 116 | 47251043 117 | 46294127 118 | 32769301 119 | 33925273 120 | 48160511 121 | 47894767 122 | 37523287 123 | 33807423 124 | 41885725 125 | 44779013 126 | 40864831 127 | 12419215 128 | 46062755 129 | 46587199 130 | 49304957 131 | 48242736 132 | 49185457 133 | 48459853 134 | 29363473 135 | 40314789 136 | 40712405 137 | 31488765 138 | 40421333 139 | 40575215 140 | 34202565 141 | 9959049 142 | 40769039 143 | 23166529 144 | 38041841 145 | 33822639 146 | 39817043 147 | 40728929 148 | 40729911 149 | 26088907 150 | 48457199 151 | 36807709 152 | 48660859 153 | 46140239 154 | 40652121 155 | 48004549 156 | 32437747 157 | 48456837 158 | 39903995 159 | 48457147 160 | 44445153 161 | 48456629 162 | 37352443 163 | 49112803 164 | 32695385 165 | 48394227 166 | 48454503 167 | 47462467 168 | 47670261 169 | 41817801 170 | 34395323 171 | 11261418 172 | 40807117 173 | 40749727 174 | 41666493 175 | 34969499 176 | 28274243 177 | 49118725 178 | 32952213 179 | 48898441 180 | 48750301 181 | 36287007 182 | 46222033 183 | 46943799 184 | 47960005 185 | 47731713 186 | 46607523 187 | 44685381 188 | 47862255 189 | 47861675 190 | 45770077 191 | 40447599 192 | 10017722 193 | 47878615 194 | 47884699 195 | 46982545 196 | 46462967 197 | 41921649 198 | 47859095 199 | 48459297 200 | 37854819 201 | 42437865 202 | 42513591 203 | 49503375 204 | 46147473 205 | 47451607 206 | 46711453 207 | 44166843 208 | 48890103 209 | 47963415 210 | 48933247 211 | 46900073 212 | 46720335 213 | 48313121 214 | 45882511 215 | 28034445 216 | 48459213 217 | 48742575 218 | 49060629 219 | 48937505 220 | 49212061 221 | 28119873 222 | 49059553 223 | 48460013 224 | 48844919 225 | 49384037 226 | 47480587 227 | 49662437 228 | 44466003 229 | 49666909 230 | 18673279 231 | 40651247 232 | 48567143 233 | 48221240 234 | 46430765 235 | 49361177 236 | 47440305 237 | 49154489 238 | 37618409 239 | 46360637 240 | 46840301 241 | 47084545 242 | 49163589 243 | 13284627 244 | 48911163 245 | 36819585 246 | 45520229 247 | 44449433 248 | 48829851 249 | 48196115 250 | 48075837 251 | 48137041 252 | 37130879 253 | 48138061 254 | 33472393 255 | 45790613 256 | 42154177 257 | 37119227 258 | 48241646 259 | 37131313 260 | 35593249 261 | 48076015 262 | 33472453 263 | 37131565 264 | 33740935 265 | 32932365 266 | 46237601 267 | 34391929 268 | 33930861 269 | 49480865 270 | 46362665 271 | 45013603 272 | 45911803 273 | 49712689 274 | 48431799 275 | 47951183 276 | 48236412 277 | 48679797 278 | 48276498 279 | 48573521 280 | 48448765 281 | 48685647 282 | 48282828 283 | 48257234 284 | 48251338 285 | 48460347 286 | 48564123 287 | 48335829 288 | 48445267 289 | 48261686 290 | 48294068 291 | 48328639 292 | 48408851 293 | 48259318 294 | 47546423 295 | 48852531 296 | 48295736 297 | 47740571 298 | 47823629 299 | 47383335 300 | 47700133 301 | 47868675 302 | 47579477 303 | 47801873 304 | 47757157 305 | 47579519 306 | 47658231 307 | 47382299 308 | 47382777 309 | 47908071 310 | 47721805 311 | 47740177 312 | 47911383 313 | 47383591 314 | 47611233 315 | 47737057 316 | 48243378 317 | 47864395 318 | 47885607 319 | 48174231 320 | 47599093 321 | 47874077 322 | 47878971 323 | 47919897 324 | 47411177 325 | 46676983 326 | 47355851 327 | 46561783 328 | 46595141 329 | 46739349 330 | 47401181 331 | 46678209 332 | 46708387 333 | 47339651 334 | 47498281 335 | 46573083 336 | 47481397 337 | 46930779 338 | 47419149 339 | 46849071 340 | 46600259 341 | 46688853 342 | 47418259 343 | 47476907 344 | 47496721 345 | 47299141 346 | 46975415 347 | 47510775 348 | 46627267 349 | 46464603 350 | 47496919 351 | 46068035 352 | 45867141 353 | 46250361 354 | 46035355 355 | 46259663 356 | 46267465 357 | 46343931 358 | 46103733 359 | 45996757 360 | 45889193 361 | 46040637 362 | 45983371 363 | 45893199 364 | 45824673 365 | 46051409 366 | 46260839 367 | 45944877 368 | 45971101 369 | 45861683 370 | 45844823 371 | 46152291 372 | 46424259 373 | 46094145 374 | 46062917 375 | 46019857 376 | 46385433 377 | 45908299 378 | 45563859 379 | 45695239 380 | 45349957 381 | 45128461 382 | 45747763 383 | 45464035 384 | 45691531 385 | 44952791 386 | 45115489 387 | 45463375 388 | 45527560 389 | 45457657 390 | 45579251 391 | 45486307 392 | 45231895 393 | 45662639 394 | 45549508 395 | 45274515 396 | 45723675 397 | 44914333 398 | 45070115 399 | 45523560 400 | 44854505 401 | 45721953 402 | 44918333 403 | 45033601 404 | 45159689 405 | 43938073 406 | 43869177 407 | 44201401 408 | 43748149 409 | 43908355 410 | 44481751 411 | 44763903 412 | 44662825 413 | 43881025 414 | 43548989 415 | 44503023 416 | 44619575 417 | 44204259 418 | 44097799 419 | 44731511 420 | 44494195 421 | 44597301 422 | 44159439 423 | 43959393 424 | 44768435 425 | 43549033 426 | 44715933 427 | 43973591 428 | 43756563 429 | 43382075 430 | 44358555 431 | 44476991 432 | 44017373 433 | 43989347 434 | 43413835 435 | 44843577 436 | 43835915 437 | 44035285 438 | 44113891 439 | 44042725 440 | 44689449 441 | 44397225 442 | 44113903 443 | 43562643 444 | 44440505 445 | 44703669 446 | 44679501 447 | 43775783 448 | 44440297 449 | 44017555 450 | 44397247 451 | 43374807 452 | 44864389 453 | 43892191 454 | 44695763 455 | 44436551 456 | 44535119 457 | 44672549 458 | 44493033 459 | 32891617 460 | 33163895 461 | 32795789 462 | 32739485 463 | 33440777 464 | 33228271 465 | 32842193 466 | 33272309 467 | 32853307 468 | 32842153 469 | 33413945 470 | 32781225 471 | 33105807 472 | 33387405 473 | 32996407 474 | 33129945 475 | 32768977 476 | 33016923 477 | 32819743 478 | 32763549 479 | 32984111 480 | 32848581 481 | 33528781 482 | 33130569 483 | 33158943 484 | 33463849 485 | 33257967 486 | 34010559 487 | 34167809 488 | 34165325 489 | 34063193 490 | 33957135 491 | 34297199 492 | 33956387 493 | 34260097 494 | 33685013 495 | 33944173 496 | 33944701 497 | 34108103 498 | 34285153 499 | 34198467 500 | 34231069 501 | 34107723 502 | 33690419 503 | 33869129 504 | 33836201 505 | 34217079 506 | 34244091 507 | 33658957 508 | 34200119 509 | 33828601 510 | 33707409 511 | 34287685 512 | 33734495 513 | 35057977 514 | 35092087 515 | 34359911 516 | 34872677 517 | 34345551 518 | 35166747 519 | 34961027 520 | 34840151 521 | 34346075 522 | 34868067 523 | 34469833 524 | 35102343 525 | 34760577 526 | 34719833 527 | 34499195 528 | 34653223 529 | 34751993 530 | 34940435 531 | 34747501 532 | 35046663 533 | 34607905 534 | 34695945 535 | 34545611 536 | 34399129 537 | 34495981 538 | 34342031 539 | 35789343 540 | 35654147 541 | 35410543 542 | 35653269 543 | 35471795 544 | 35304061 545 | 35378161 546 | 35236151 547 | 35758041 548 | 35683847 549 | 35372727 550 | 35597651 551 | 35731623 552 | 35388231 553 | 35660173 554 | 35249353 555 | 35286051 556 | 35714937 557 | 35219079 558 | 35337625 559 | 35500163 560 | 35679217 561 | 35188151 562 | 35288483 563 | 35732615 564 | 35417845 565 | 35417823 566 | 35870357 567 | 36111915 568 | 36096621 569 | 35963847 570 | 36251561 571 | 36148957 572 | 36160813 573 | 36028901 574 | 36077987 575 | 35887003 576 | 36254985 577 | 36345921 578 | 36034633 579 | 36192587 580 | 36231915 581 | 36158457 582 | 35861955 583 | 36499073 584 | 36234087 585 | 36416533 586 | 36041103 587 | 36090605 588 | 36237009 589 | 36481503 590 | 36545447 591 | 36148553 592 | 36911271 593 | 36682961 594 | 37151611 595 | 36906025 596 | 37062133 597 | 37139565 598 | 36836311 599 | 37122359 600 | 36822141 601 | 37150539 602 | 36720027 603 | 36686849 604 | 37179855 605 | 36971335 606 | 36995451 607 | 37013975 608 | 36742105 609 | 36592469 610 | 36644061 611 | 37270495 612 | 36851693 613 | 36739193 614 | 36851033 615 | 36841355 616 | 36668509 617 | 36775233 618 | 36655985 619 | 38111519 620 | 37437879 621 | 37511589 622 | 37751767 623 | 37459521 624 | 37992989 625 | 37403501 626 | 37778327 627 | 37930341 628 | 37989161 629 | 37339369 630 | 37420371 631 | 37967091 632 | 37681471 633 | 37611631 634 | 37361243 635 | 37770521 636 | 37855191 637 | 37961651 638 | 37554461 639 | 37977253 640 | 38127641 641 | 37426087 642 | 37944663 643 | 37417351 644 | 37781847 645 | 37497691 646 | 38919745 647 | 38531315 648 | 38181329 649 | 38553889 650 | 38769171 651 | 38319555 652 | 38169085 653 | 38229593 654 | 38243927 655 | 38755239 656 | 38547397 657 | 38308055 658 | 38990781 659 | 38388531 660 | 38313237 661 | 39019876 662 | 38757921 663 | 38898765 664 | 38560411 665 | 38750063 666 | 38718739 667 | 38620375 668 | 38772497 669 | 38947387 670 | 38940865 671 | 39059974 672 | 38226491 673 | 39259856 674 | 39632597 675 | 39331464 676 | 39859329 677 | 39517172 678 | 38149605 679 | 38558023 680 | 38307017 681 | 40012477 682 | 39148732 683 | 39535419 684 | 39862641 685 | 39673181 686 | 40010395 687 | 39491558 688 | 39127484 689 | 39916419 690 | 40012601 691 | 39593067 692 | 39581465 693 | 39716901 694 | 39367268 695 | 39959237 696 | 39987975 697 | 39920081 698 | 39291316 699 | 39510604 700 | 40033173 701 | 39702747 702 | 39396812 703 | 39128054 704 | 39127160 705 | 40012435 706 | 39546963 707 | 39499216 708 | 39652017 709 | 40544755 710 | 40432597 711 | 40652789 712 | 40316791 713 | 40365503 714 | 40654997 715 | 40764587 716 | 40406185 717 | 40224093 718 | 40277885 719 | 40396763 720 | 40985385 721 | 40389113 722 | 40260189 723 | 40901105 724 | 40754101 725 | 40203241 726 | 40400317 727 | 40939143 728 | 40357827 729 | 41134565 730 | 40537397 731 | 40418435 732 | 41103355 733 | 40400323 734 | 40570011 735 | 40881727 736 | 42072787 737 | 41836535 738 | 41289973 739 | 41718515 740 | 41955683 741 | 41719621 742 | 41712527 743 | 41469259 744 | 41691299 745 | 41616177 746 | 41975997 747 | 41565131 748 | 42149799 749 | 41929627 750 | 41976211 751 | 42169743 752 | 41632661 753 | 41840911 754 | 42123967 755 | 41712393 756 | 41874237 757 | 41781877 758 | 41603619 759 | 41736273 760 | 42780509 761 | 42233191 762 | 42835295 763 | 42642387 764 | 42270771 765 | 42244987 766 | 42913071 767 | 43021779 768 | 43018373 769 | 42915227 770 | 43058543 771 | 42646293 772 | 42714193 773 | 42273691 774 | 43135411 775 | 42742809 776 | 42789827 777 | 42331849 778 | 42482353 779 | 42565051 780 | 42987363 781 | 42819841 782 | 42886295 783 | 43303539 784 | 42359379 785 | 42572125 786 | 43046939 787 | 49302139 788 | 32730921 789 | 33902067 790 | 39004329 791 | 39533053 792 | 48959125 793 | 49042443 794 | 47586017 795 | 48959123 796 | 48289318 797 | 48844003 798 | 48959987 799 | 48930271 800 | 49042419 801 | 49042551 802 | 49042503 803 | 35226889 804 | 11591933 805 | 49690957 806 | 48197433 807 | 48845345 808 | 45465421 809 | 48292114 810 | 47752899 811 | 43672461 812 | 48584345 813 | 44728129 814 | 37097315 815 | 35080029 816 | 34504521 817 | 30072673 818 | 37288543 819 | 37373463 820 | 32767047 821 | 40506041 822 | 49632091 823 | 49213855 824 | 49286267 825 | 49234555 826 | 31482161 827 | 49313665 828 | 48318725 829 | 46838183 830 | 48459929 831 | 49394029 832 | 48933805 833 | 49393567 834 | 34601675 835 | 49258923 836 | 49196529 837 | 38496073 838 | 38496215 839 | 38518377 840 | 32555765 841 | 28549839 842 | 20724027 843 | 28735349 844 | 29120803 845 | 15762983 846 | 23004709 847 | 24156613 848 | 20817931 849 | 35203277 850 | 24289373 851 | 24392593 852 | 27892881 853 | 32759437 854 | 32360013 855 | 31085593 856 | 33895543 857 | 37171991 858 | 30818221 859 | 31085855 860 | 31415767 861 | 35202505 862 | 34228421 863 | 29965863 864 | 30710041 865 | 30543255 866 | 30958323 867 | 29258397 868 | 32056793 869 | 21224065 870 | 10019921 871 | 10639064 872 | 25250701 873 | 16775779 874 | 8600571 875 | 28629233 876 | 22295535 877 | 21181857 878 | 10272023 879 | 10272070 880 | 13943049 881 | 33979785 882 | 30267587 883 | 24713273 884 | 9774463 885 | 1303011 886 | 1303030 887 | 9023115 888 | 1303015 889 | 11831601 890 | 23354672 891 | 32321063 892 | 32295449 893 | 32322413 894 | 1300813 895 | 31409663 896 | 30376479 897 | 30829879 898 | 23133241 899 | 39563075 900 | 41126383 901 | 39913949 902 | 39913977 903 | 39443602 904 | 39576981 905 | 34872149 906 | 34455359 907 | 10637158 908 | 30251023 909 | 29487323 910 | 27479399 911 | 27479375 912 | 25766815 913 | 16998939 914 | 20652879 915 | 27750431 916 | 31829513 917 | 29739975 918 | 29194233 919 | 18555527 920 | 18487285 921 | 28732775 922 | 29437831 923 | 34642137 924 | 29557715 925 | 28429305 926 | 29524071 927 | 22490829 928 | 27876097 929 | 35071653 930 | 34587533 931 | 34424947 932 | 33877357 933 | 41752587 934 | 45289191 935 | 42963147 936 | 40055019 937 | 41532729 938 | 37221897 939 | 15127289 940 | 39569907 941 | 39804077 942 | 38437615 943 | 31478591 944 | 31286317 945 | 28687427 946 | 24935033 947 | 32616035 948 | 40660193 949 | 34455447 950 | 33709273 951 | 30968229 952 | 31056919 953 | 37752575 954 | 34185881 955 | 34014099 956 | 34083543 957 | 33776957 958 | 25178893 959 | 35298129 960 | 26929017 961 | 35659195 962 | 29074475 963 | 34104415 964 | 29562415 965 | 28949063 966 | 22283727 967 | 32070825 968 | 38419185 969 | 34198415 970 | 32799739 971 | 31478743 972 | 28737153 973 | 28825983 974 | 23610096 975 | 41167657 976 | 38644795 977 | 40413383 978 | 40540663 979 | 40575327 980 | 39945353 981 | 40484431 982 | 40089941 983 | 40032071 984 | 40001789 985 | 40001693 986 | 39847671 987 | 39817923 988 | 39689427 989 | 40064229 990 | 35271627 991 | 39945357 992 | 40032063 993 | 34564471 994 | 34256223 995 | 24123057 996 | 25373555 997 | 26657621 998 | 25486235 999 | 25968347 1000 | 22769635 1001 | 19975187 1002 | 18506797 1003 | 14921697 1004 | 18634121 1005 | 16807871 1006 | 16277741 1007 | 18631041 1008 | 20213195 1009 | 22995653 1010 | 25828841 1011 | 14802807 1012 | 24725039 1013 | 25945499 1014 | 19494839 1015 | 15909121 1016 | 34963659 1017 | 34255287 1018 | 40032193 1019 | 40238245 1020 | 40238235 1021 | 40575303 1022 | 39944673 1023 | 40238103 1024 | 40237943 1025 | 40002231 1026 | 36264557 1027 | 40574861 1028 | 40089849 1029 | 40443703 1030 | 39944663 1031 | 40575183 1032 | 39944809 1033 | 40575313 1034 | 40413013 1035 | 15478655 1036 | 28781607 1037 | 22238845 1038 | 25615819 1039 | 27974609 1040 | 18298957 1041 | 28684647 1042 | 36980701 1043 | 40238247 1044 | 39944523 1045 | 39972417 1046 | 39911181 1047 | 39911311 1048 | 39911067 1049 | 35182157 1050 | 34871223 1051 | 32042535 1052 | 30729771 1053 | 30729757 1054 | 30729761 1055 | 30729777 1056 | 24219997 1057 | 25315169 1058 | 572789 1059 | 1753702 1060 | 1491177 1061 | 2368204 1062 | 29744219 1063 | 30611477 1064 | 4154396 1065 | 20390239 1066 | 29448117 1067 | 28918483 1068 | 6113156 1069 | 24371011 1070 | 23961662 1071 | 28506745 1072 | 28334295 1073 | 27896483 1074 | 28056901 1075 | 37057027 1076 | 37169311 1077 | 29405365 1078 | 32448049 1079 | 28551841 1080 | 14825601 1081 | 17709749 1082 | 28686731 1083 | 36787335 1084 | 31478993 1085 | 14061679 1086 | 14062617 1087 | 29001765 1088 | 14063047 1089 | 27841653 1090 | 27842169 1091 | 26603039 1092 | 10017215 1093 | 25474035 1094 | 7113789 1095 | 25216883 1096 | 14061935 1097 | 17440707 1098 | 17125983 1099 | 27628423 1100 | 22899223 1101 | 26553065 1102 | 24814247 1103 | 23708828 1104 | 14383705 1105 | 29664901 1106 | 11798177 1107 | 13307039 1108 | 20651543 1109 | 22700397 1110 | 15750423 1111 | 25661873 1112 | 26163539 1113 | 33797139 1114 | 33737759 1115 | 29629131 1116 | 32776639 1117 | 40413667 1118 | 39944833 1119 | 41555337 1120 | 35965159 1121 | 38784861 1122 | 32377007 1123 | 25706583 1124 | 34103229 1125 | 42407467 1126 | 39673701 1127 | 39788869 1128 | 15181745 1129 | 34255291 1130 | 39078718 1131 | 38863933 1132 | 40413645 1133 | 39819223 1134 | 40412803 1135 | 39665685 1136 | 46235373 1137 | 40259387 1138 | 39081504 1139 | 29245335 1140 | 29660709 1141 | 16755305 1142 | 18555575 1143 | 24873101 1144 | 20591257 1145 | 24284145 1146 | 39908667 1147 | 33550433 1148 | 35599009 1149 | 35483849 1150 | 33414571 1151 | 35599387 1152 | 27568791 1153 | 24910753 1154 | 30461965 1155 | 30461759 1156 | 27568895 1157 | 28953991 1158 | 43911585 1159 | 37725073 1160 | 35754139 1161 | 35826349 1162 | 35826027 1163 | 35880715 1164 | 34546475 1165 | 31831345 1166 | 31812505 1167 | 34621893 1168 | 35016495 1169 | 31367189 1170 | 33448767 1171 | 27218155 1172 | 35599129 1173 | 30364401 1174 | 35825307 1175 | 36085711 1176 | 36311673 1177 | 36401903 1178 | 35378513 1179 | 36508977 1180 | 40273495 1181 | 40275941 1182 | 36086005 1183 | 39882993 1184 | 33501577 1185 | 12025333 1186 | 33446047 1187 | 30694183 1188 | 39773715 1189 | 39770233 1190 | 38579455 1191 | 34170979 1192 | 20948781 1193 | 34235055 1194 | 30599291 1195 | 48607849 1196 | 48608121 1197 | 48676469 1198 | 48114161 1199 | 48114401 1200 | 48444677 1201 | 47903519 1202 | 26977357 1203 | 46178425 1204 | 47543211 1205 | 31410733 1206 | 31549371 1207 | 9398607 1208 | 27685389 1209 | 31433477 1210 | 30755529 1211 | 30521641 1212 | 9856801 1213 | 25366509 1214 | 26577557 1215 | 19242627 1216 | 406189 1217 | 48130919 1218 | 46695605 1219 | 38996791 1220 | 39782045 1221 | 39176972 1222 | 39718565 1223 | 39663931 1224 | 39177986 1225 | 39054860 1226 | 39174242 1227 | 34544843 1228 | 30463597 1229 | 43763059 1230 | 33178597 1231 | 25063383 1232 | 29703769 1233 | 28615849 1234 | 46587599 1235 | 41918357 1236 | 49232121 1237 | 49393887 1238 | 48209040 1239 | 47757145 1240 | 47757315 1241 | 47757249 1242 | 38599387 1243 | 45852813 1244 | 48817259 1245 | 45744189 1246 | 48114557 1247 | 48114697 1248 | 45667047 1249 | 34226553 1250 | 36752173 1251 | 37189351 1252 | 38250693 1253 | 37095489 1254 | 36114681 1255 | 32596885 1256 | 30729913 1257 | 39728783 1258 | 45600063 1259 | 36099195 1260 | 36194303 1261 | 8653193 1262 | 20421139 1263 | 36954697 1264 | 32777623 1265 | 32777649 1266 | 32220561 1267 | 31328247 1268 | 27745187 1269 | 37030091 1270 | 35495407 1271 | 35490955 1272 | 42790283 1273 | 36670353 1274 | 42926483 1275 | 30309043 1276 | 30309255 1277 | 33079935 1278 | 47455835 1279 | 48113895 1280 | 48128565 1281 | 48113845 1282 | 48458451 1283 | 35902031 1284 | 42048335 1285 | 17609395 1286 | 45679687 1287 | 49255365 1288 | 48015763 1289 | 44825643 1290 | 40989281 1291 | 37131231 1292 | 36311707 1293 | 44709273 1294 | 45267505 1295 | 40842877 1296 | 48128627 1297 | 48194371 1298 | 49820339 1299 | 49305483 1300 | 44450977 1301 | 48829065 1302 | 49022713 1303 | 46483789 1304 | 47128135 1305 | 46258927 1306 | 30110173 1307 | 20113297 1308 | 29955813 1309 | 17609423 1310 | 49747649 1311 | 48525391 1312 | 48591167 1313 | 40071921 1314 | 31983279 1315 | 18544627 1316 | 33168679 1317 | 39859099 1318 | 27603471 1319 | -------------------------------------------------------------------------------- /ERROR.txt: -------------------------------------------------------------------------------- 1 | {'https://hls3-l3.xvideos-cdn.com/5b73fdfa80b74549d8012b4696b14cbc14127c2d-1563956001/videos/hls/9b/18/8b/9b188b1df9054177740513e411699587/hls-720p5.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\Hooker gets off the snowy streets by anally pleasing her pimp'} 2 | {'https://hls3-l3.xvideos-cdn.com/5b73fdfa80b74549d8012b4696b14cbc14127c2d-1563956001/videos/hls/9b/18/8b/9b188b1df9054177740513e411699587/hls-720p28.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\Hooker gets off the snowy streets by anally pleasing her pimp'} 3 | {'https://hls3-l3.xvideos-cdn.com/5b73fdfa80b74549d8012b4696b14cbc14127c2d-1563956001/videos/hls/9b/18/8b/9b188b1df9054177740513e411699587/hls-720p21.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\Hooker gets off the snowy streets by anally pleasing her pimp'} 4 | {'https://hls3-l3.xvideos-cdn.com/5b73fdfa80b74549d8012b4696b14cbc14127c2d-1563956001/videos/hls/9b/18/8b/9b188b1df9054177740513e411699587/hls-720p37.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\Hooker gets off the snowy streets by anally pleasing her pimp'} 5 | {'https://hls3-l3.xvideos-cdn.com/5b73fdfa80b74549d8012b4696b14cbc14127c2d-1563956001/videos/hls/9b/18/8b/9b188b1df9054177740513e411699587/hls-720p25.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\Hooker gets off the snowy streets by anally pleasing her pimp'} 6 | {'https://hls3-l3.xvideos-cdn.com/5b73fdfa80b74549d8012b4696b14cbc14127c2d-1563956001/videos/hls/9b/18/8b/9b188b1df9054177740513e411699587/hls-720p33.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\Hooker gets off the snowy streets by anally pleasing her pimp'} 7 | {'https://hls3-l3.xvideos-cdn.com/5b73fdfa80b74549d8012b4696b14cbc14127c2d-1563956001/videos/hls/9b/18/8b/9b188b1df9054177740513e411699587/hls-720p8.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\Hooker gets off the snowy streets by anally pleasing her pimp'} 8 | {'https://hls3-l3.xvideos-cdn.com/5b73fdfa80b74549d8012b4696b14cbc14127c2d-1563956001/videos/hls/9b/18/8b/9b188b1df9054177740513e411699587/hls-720p12.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\Hooker gets off the snowy streets by anally pleasing her pimp'} 9 | {'https://hls3-l3.xvideos-cdn.com/5b73fdfa80b74549d8012b4696b14cbc14127c2d-1563956001/videos/hls/9b/18/8b/9b188b1df9054177740513e411699587/hls-720p0.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\Hooker gets off the snowy streets by anally pleasing her pimp'} 10 | {'https://hls3-l3.xvideos-cdn.com/5b73fdfa80b74549d8012b4696b14cbc14127c2d-1563956001/videos/hls/9b/18/8b/9b188b1df9054177740513e411699587/hls-720p16.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\Hooker gets off the snowy streets by anally pleasing her pimp'} 11 | {'https://hls3-l3.xvideos-cdn.com/5b73fdfa80b74549d8012b4696b14cbc14127c2d-1563956001/videos/hls/9b/18/8b/9b188b1df9054177740513e411699587/hls-720p22.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\Hooker gets off the snowy streets by anally pleasing her pimp'} 12 | {'https://hls3-l3.xvideos-cdn.com/5b73fdfa80b74549d8012b4696b14cbc14127c2d-1563956001/videos/hls/9b/18/8b/9b188b1df9054177740513e411699587/hls-720p29.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\Hooker gets off the snowy streets by anally pleasing her pimp'} 13 | {'https://hls3-l3.xvideos-cdn.com/5b73fdfa80b74549d8012b4696b14cbc14127c2d-1563956001/videos/hls/9b/18/8b/9b188b1df9054177740513e411699587/hls-720p1.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\Hooker gets off the snowy streets by anally pleasing her pimp'} 14 | {'https://hls3-l3.xvideos-cdn.com/5b73fdfa80b74549d8012b4696b14cbc14127c2d-1563956001/videos/hls/9b/18/8b/9b188b1df9054177740513e411699587/hls-720p13.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\Hooker gets off the snowy streets by anally pleasing her pimp'} 15 | {'https://hls3-l3.xvideos-cdn.com/5b73fdfa80b74549d8012b4696b14cbc14127c2d-1563956001/videos/hls/9b/18/8b/9b188b1df9054177740513e411699587/hls-720p17.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\Hooker gets off the snowy streets by anally pleasing her pimp'} 16 | {'https://vid-egc.xvideos-cdn.com/videos/hls/4d/5b/88/4d5b885f3e99fde0b45522506aa4fc4b/hls-720p281.ts?jmQoXSELri3Yimp6AiHdu7i_lsloBWGym16XBSYIi2v_goXtl-hMIilJMuNHwocqfJQog0YZpddSP4RBPb9j6XxZ16GpzlPudT89SlUng0Xw3go_6XgOYojKInHaaDtE4jVDCqXVbN0CAE8_4-rdrSdXUw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\cô vợ dâm đãng'} 17 | {'https://vid-egc.xvideos-cdn.com/videos/hls/4d/5b/88/4d5b885f3e99fde0b45522506aa4fc4b/hls-720p416.ts?jmQoXSELri3Yimp6AiHdu7i_lsloBWGym16XBSYIi2v_goXtl-hMIilJMuNHwocqfJQog0YZpddSP4RBPb9j6XxZ16GpzlPudT89SlUng0Xw3go_6XgOYojKInHaaDtE4jVDCqXVbN0CAE8_4-rdrSdXUw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\cô vợ dâm đãng'} 18 | {'https://vid-egc.xvideos-cdn.com/videos/hls/4d/5b/88/4d5b885f3e99fde0b45522506aa4fc4b/hls-720p286.ts?jmQoXSELri3Yimp6AiHdu7i_lsloBWGym16XBSYIi2v_goXtl-hMIilJMuNHwocqfJQog0YZpddSP4RBPb9j6XxZ16GpzlPudT89SlUng0Xw3go_6XgOYojKInHaaDtE4jVDCqXVbN0CAE8_4-rdrSdXUw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\cô vợ dâm đãng'} 19 | {'https://vid-egc.xvideos-cdn.com/videos/hls/4d/5b/88/4d5b885f3e99fde0b45522506aa4fc4b/hls-720p529.ts?jmQoXSELri3Yimp6AiHdu7i_lsloBWGym16XBSYIi2v_goXtl-hMIilJMuNHwocqfJQog0YZpddSP4RBPb9j6XxZ16GpzlPudT89SlUng0Xw3go_6XgOYojKInHaaDtE4jVDCqXVbN0CAE8_4-rdrSdXUw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\cô vợ dâm đãng'} 20 | {'https://vid-egc.xvideos-cdn.com/videos/hls/4d/5b/88/4d5b885f3e99fde0b45522506aa4fc4b/hls-720p69.ts?jmQoXSELri3Yimp6AiHdu7i_lsloBWGym16XBSYIi2v_goXtl-hMIilJMuNHwocqfJQog0YZpddSP4RBPb9j6XxZ16GpzlPudT89SlUng0Xw3go_6XgOYojKInHaaDtE4jVDCqXVbN0CAE8_4-rdrSdXUw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\cô vợ dâm đãng'} 21 | {'https://vid-egc.xvideos-cdn.com/videos/hls/4d/5b/88/4d5b885f3e99fde0b45522506aa4fc4b/hls-720p179.ts?jmQoXSELri3Yimp6AiHdu7i_lsloBWGym16XBSYIi2v_goXtl-hMIilJMuNHwocqfJQog0YZpddSP4RBPb9j6XxZ16GpzlPudT89SlUng0Xw3go_6XgOYojKInHaaDtE4jVDCqXVbN0CAE8_4-rdrSdXUw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\cô vợ dâm đãng'} 22 | {'https://vid-egc.xvideos-cdn.com/videos/hls/4d/5b/88/4d5b885f3e99fde0b45522506aa4fc4b/hls-720p427.ts?jmQoXSELri3Yimp6AiHdu7i_lsloBWGym16XBSYIi2v_goXtl-hMIilJMuNHwocqfJQog0YZpddSP4RBPb9j6XxZ16GpzlPudT89SlUng0Xw3go_6XgOYojKInHaaDtE4jVDCqXVbN0CAE8_4-rdrSdXUw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\cô vợ dâm đãng'} 23 | {'https://vid-egc.xvideos-cdn.com/videos/hls/4d/5b/88/4d5b885f3e99fde0b45522506aa4fc4b/hls-720p80.ts?jmQoXSELri3Yimp6AiHdu7i_lsloBWGym16XBSYIi2v_goXtl-hMIilJMuNHwocqfJQog0YZpddSP4RBPb9j6XxZ16GpzlPudT89SlUng0Xw3go_6XgOYojKInHaaDtE4jVDCqXVbN0CAE8_4-rdrSdXUw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\cô vợ dâm đãng'} 24 | {'https://hls4-l3.xvideos-cdn.com/50d936379f3898813eb4bf087cdd331aa14e156d-1563961891/videos/hls/5f/4f/a5/5f4fa5bc0225cf0dbfb7aec4ce1637f9/hls-720p465.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\Japanese RINA ISHIHARA get fucked by old man - wwwAdultisPorncom'} 25 | {'https://hls4-l3.xvideos-cdn.com/50d936379f3898813eb4bf087cdd331aa14e156d-1563961891/videos/hls/5f/4f/a5/5f4fa5bc0225cf0dbfb7aec4ce1637f9/hls-720p644.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-05\Japanese RINA ISHIHARA get fucked by old man - wwwAdultisPorncom'} 26 | {'https://hls3-l3.xvideos-cdn.com/47c574a27268196ca76e91639840c2ea4ca9b49a-1564753283/videos/hls/50/1c/f6/501cf617731b6c1b184868978b6abb0f/hls-720p11.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-06\Miss PYT VS Bk Brick Big Dick Challenge'} 27 | {'https://hls3-l3.xvideos-cdn.com/47c574a27268196ca76e91639840c2ea4ca9b49a-1564753283/videos/hls/50/1c/f6/501cf617731b6c1b184868978b6abb0f/hls-720p7.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-06\Miss PYT VS Bk Brick Big Dick Challenge'} 28 | {'https://hls3-l3.xvideos-cdn.com/47c574a27268196ca76e91639840c2ea4ca9b49a-1564753283/videos/hls/50/1c/f6/501cf617731b6c1b184868978b6abb0f/hls-720p15.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2019-06\Miss PYT VS Bk Brick Big Dick Challenge'} 29 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p36.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 30 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p37.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 31 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p38.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 32 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p39.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 33 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p40.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 34 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p41.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 35 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p42.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 36 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p43.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 37 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p44.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 38 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p45.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 39 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p46.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 40 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p47.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 41 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p48.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 42 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p49.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 43 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p50.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 44 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p51.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 45 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p52.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 46 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p53.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 47 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p54.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 48 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p55.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 49 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p56.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 50 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p57.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 51 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p58.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 52 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p59.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 53 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p60.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 54 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p61.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 55 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p62.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 56 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p63.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 57 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p64.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 58 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p65.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 59 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p66.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 60 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p67.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 61 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p68.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 62 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p69.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 63 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p70.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 64 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p71.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 65 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p72.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 66 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p73.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 67 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p74.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 68 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p75.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 69 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p76.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 70 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p77.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 71 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p78.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 72 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p79.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 73 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p80.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 74 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p81.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 75 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p82.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 76 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p83.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 77 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p84.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 78 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p85.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 79 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p86.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 80 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p87.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 81 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p88.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 82 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p89.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 83 | {'https://vid-egc.xvideos-cdn.com/videos/hls/87/1b/00/871b00b938e24ea34b70a8ca2d89cd8e/hls-720p90.ts?IWHu9Yi0ntVEDXIXlViZNAPSXQXSFWneIxeqINhQ5TI6hQfkBlETHuuXDbN3BQ3UrR-blGWivxdhbea3TxiWrsscEtqBdFP75IRTHniSdYKjPXmONsufEsrMZjAH5ru_OpdWl4HaASbqnqBk3ANrL5IMSw': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-02\18 year old gets monster black dick'} 84 | {'https://hls1-l3.xvideos-cdn.com/035fef8f67958e2432ed878a2db6e60c85a7e299-1565433775/videos/hls/80/1e/4a/801e4a35cab3fac30eeb7ab4d10b2b09/hls-720p42.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-05\BANGBROS - Macana Man's Big Black Dick Buried Deep Inside Kelsi Monroe's Phat Ass'} 85 | {'https://hls1-l3.xvideos-cdn.com/035fef8f67958e2432ed878a2db6e60c85a7e299-1565433775/videos/hls/80/1e/4a/801e4a35cab3fac30eeb7ab4d10b2b09/hls-720p21.ts': 'E:\仓殷禀阜\xvideos\03-最佳影片\2018-05\BANGBROS - Macana Man's Big Black Dick Buried Deep Inside Kelsi Monroe's Phat Ass'} 86 | -------------------------------------------------------------------------------- /xvideos_urls.txt: -------------------------------------------------------------------------------- 1 | https://www.xvideos.com/video25098593/overwatch_petite_widowmaker#_tabComments 2 | https://www.xvideos.com/video28388183/honey_select_-_classroom_gameplay_01 3 | https://www.xvideos.com/video29707043/hitomi_fujiwara_crying_cause_3_mans_action_ 4 | https://www.xvideos.com/video27635043/honey_select_12_javgame_ 5 | https://www.xvideos.com/video25935975/korean_busty_girl_shows_her_hot_body 6 | https://www.xvideos.com/video32709077/_18_part_1_-_52888ppp.com_ 7 | https://www.xvideos.com/video32305077/20_av_~_part_1_-_52888ppp.com_ 8 | https://www.xvideos.com/video34354229/_ 9 | https://www.xvideos.com/video34431449/_ 10 | https://www.xvideos.com/video32418785/_part_1_-_52888ppp.com_#_tabDownload 11 | https://www.xvideos.com/video31534257/_ 12 | https://www.xvideos.com/video32656369/7hang.com_#_tabDownload 13 | https://www.xvideos.com/video20333917/asian_teen_gets_creampie#_tabDownload 14 | https://www.xvideos.com/video26040399/gorgeous_korean_girl_fucked_in_movie#_tabDownload 15 | https://www.xvideos.com/video22889047/tap2 16 | https://www.xvideos.com/video35904929/teen_girl_secrect_fuck_her_sister_s_boyfriend_when_sleeping 17 | https://www.xvideos.com/video28332451/korean_porn_hot_redheaded_korean_babe 18 | https://www.xvideos.com/video31488599/_-_javbobo.com#_tabDownload 19 | https://www.xvideos.com/video6906911/snsd_yoona 20 | https://www.xvideos.com/video32155909/_18av.cc 21 | https://www.xvideos.com/video32656341/7hang.com_-_-_#_tabDownload 22 | https://www.xvideos.com/video32966525/7hang.com_90_#_tabDownload 23 | https://www.xvideos.com/video37838351/_ 24 | https://www.xvideos.com/video39971687/_ 25 | https://www.xvideos.com/video32835995/_ 26 | https://www.xvideos.com/video31695049/_ 27 | https://www.xvideos.com/video39749275/_800_99_._ 28 | https://www.xvideos.com/video38903409/_-_mmmy5800#_tabDownload 29 | https://www.xvideos.com/video39282144/_ 30 | https://www.xvideos.com/video35664227/170cm_ 31 | https://www.xvideos.com/video31488765/_~_-_javbobo.com 32 | https://www.xvideos.com/video34510003/_ 33 | https://www.xvideos.com/video34581423/miss_a_suzy_deepfakes_deepfakekpop.com 34 | https://www.xvideos.com/video40728929/_79206569 35 | https://www.xvideos.com/video35568195/_ 36 | https://www.xvideos.com/video35904929/teen_girl_secrect_fuck_her_sister_s_boyfriend_when_sleeping 37 | https://www.xvideos.com/video34328693/yu_20_years_old_college_student_sex_at_hotel_pt_2-_www.oppavids.com 38 | https://www.xvideos.com/video20606417/iphone_i_cant_live_without_daughters 39 | https://www.xvideos.com/video32440417/18av.cc_ktv_ 40 | https://www.xvideos.com/video20781759/iphone_papa_is_a_pervert 41 | https://www.xvideos.com/video29963269/43829#_tabDownload 42 | https://www.xvideos.com/video21547891/_1_clip#_tabDownload 43 | https://www.xvideos.com/video29363473/_line_hot.9932#_tabDownload 44 | https://www.xvideos.com/video28052077/fb_.._98506005 45 | https://www.xvideos.com/video10090192/xiaoyu_secret_i 46 | https://www.xvideos.com/video8642988/taiwan_student_girl 47 | https://www.xvideos.com/video29664877/taiwanese_fuck_hard_oral_hygiene_-_porncaoliu.com#_tabDownload 48 | https://www.xvideos.com/video12419215/_ 49 | https://www.xvideos.com/video23166529/_ 50 | https://www.xvideos.com/video29182845/love_sex_--_it_s_a_lot_httpelectricamaz.tumblr.compost130994811704its-a-lot_#_tabDownload 51 | https://www.xvideos.com/video9959049/_ 52 | https://www.xvideos.com/video29182845/love_sex_--_it_s_a_lot_httpelectricamaz.tumblr.compost130994811704its-a-lot_ 53 | https://www.xvideos.com/video9539615/_taiwan_ 54 | https://www.xvideos.com/video29174823/taiwan_couple_sexy#_tabDownload 55 | https://www.xvideos.com/video26237493/what_is_her_name_cual_su_nombre 56 | https://www.xvideos.com/video31647053/amazingly_perfect_asian_teen_tits_pov_www.hott.cam_asians_ 57 | https://www.xvideos.com/video19667677/thai_yed_clip_2365#_tabDownload 58 | https://www.xvideos.com/video26088907/_.mp4 59 | https://www.xvideos.com/video21635571/claire_#_tabDownload 60 | https://www.xvideos.com/video29209813/bigo_live_show_tit 61 | https://www.xvideos.com/video40807117/_ 62 | https://www.xvideos.com/video40769039/_ 63 | https://www.xvideos.com/video37352443/_-_camsex4u 64 | https://www.xvideos.com/video41666493/_ 65 | https://www.xvideos.com/video40864831/_ 66 | https://www.xvideos.com/video39817043/_ 67 | https://www.xvideos.com/video33925273/_ 68 | https://www.xvideos.com/video32695385/_fuck_ 69 | https://www.xvideos.com/video31640165/019_helen_part_1_-_fuckasianbeauty.com 70 | https://www.xvideos.com/video48999093/extra_tiny_blonde_teen 71 | https://www.xvideos.com/video27797373/whats_her_name_plsss... 72 | https://www.xvideos.com/video34202565/_hah822 73 | https://www.xvideos.com/video34969499/_hah822 74 | https://www.xvideos.com/video36898941/my_masturbation_videos_5 75 | https://www.xvideos.com/video48004549/_ 76 | https://www.xvideos.com/video48172853/_ 77 | https://www.xvideos.com/video47462467/_ 78 | https://www.xvideos.com/video33807423/_hah822 79 | https://www.xvideos.com/video33822639/_hah822 80 | https://www.xvideos.com/video46749449/_3p_sex 81 | https://www.xvideos.com/video28274243/_ 82 | https://www.xvideos.com/video32769301/_jj 83 | https://www.xvideos.com/video44640141/anime_redhead_gets_rough_fucking 84 | https://www.xvideos.com/video24370845/korean_uncen_14 85 | https://www.xvideos.com/video46751691/_sex 86 | https://www.xvideos.com/video8459334/taiwan_girlfriend_blowjob 87 | https://www.xvideos.com/video35474961/small_tits_japanese_hardfuck 88 | https://www.xvideos.com/video47670261/_00_qq_1018288673 89 | https://www.xvideos.com/video46462967/_-_ 90 | https://www.xvideos.com/video27915937/korean_ona_1 91 | https://www.xvideos.com/video39886539/be_gai_di_hoc_them_nha_ban_kaede_part_3 92 | https://www.xvideos.com/video48350381/swindle_japanese_cute_teen_idol 93 | https://www.xvideos.com/video37492843/big_natural_tits_chinese_teen_camsex_show 94 | https://www.xvideos.com/video39786485/more_at_www.3dbadgirls.club_-_monster_3d_fucking 95 | https://www.xvideos.com/video47587647/_sex 96 | https://www.xvideos.com/video33913159/homemade_creampie 97 | https://www.xvideos.com/video46429813/_sex 98 | https://www.xvideos.com/video39004097/chinese_cam_girl_miss_deer_-_fucks_sleeping_bf 99 | https://www.xvideos.com/video46243641/_h_sex 100 | https://www.xvideos.com/video46294127/_s_sex_ver._ 101 | https://www.xvideos.com/video46982545/_. 102 | https://www.xvideos.com/video10017722/_20_~ 103 | https://www.xvideos.com/video47878615/_-_-_-_-_ 104 | https://www.xvideos.com/video48750301/_._q_839326829_ 105 | https://www.xvideos.com/video48660859/_ 106 | https://www.xvideos.com/video30659975/_ 107 | https://www.xvideos.com/video22992453/_awesome-anime.com_-_yuffie_in_tentacle_from_ff7_final_fantasy_vii_ 108 | https://www.xvideos.com/video40575215/_ 109 | https://www.xvideos.com/video32529887/legend.hayakawa.serina 110 | https://www.xvideos.com/video33283985/china_teens 111 | https://www.xvideos.com/video48608809/pred-159_dirty_step_father_brainwashes_his_step_daughters 112 | https://www.xvideos.com/video46587199/_loli_427841183_ 113 | https://www.xvideos.com/video30116441/project001_12 114 | https://www.xvideos.com/video37523287/_~_ 115 | https://www.xvideos.com/video40195511/bealtiful_japanese_girl_crazy_with_bbc 116 | https://www.xvideos.com/video38585323/2_bbcs_on_a_japanese_teen_-_telegram_lolicon_channel_https_t.me_brasillolicon 117 | https://www.xvideos.com/video455920/teen_asian_amai_interracial_anal 118 | https://www.xvideos.com/video32437747/_-_ 119 | https://www.xvideos.com/video25968965/perfect_big_tit_asian_fucking 120 | https://www.xvideos.com/video20868507/tutor_to_seduce_-_amateurgirls.online 121 | https://www.xvideos.com/video45770077/_~ 122 | https://www.xvideos.com/video27179461/200gana-1278_sample 123 | https://www.xvideos.com/video41689431/stunning_korean_shows_boobs 124 | https://www.xvideos.com/video26060377/200gana-1281_sample 125 | https://www.xvideos.com/video39903995/_ 126 | https://www.xvideos.com/video46607523/_-_ 127 | https://www.xvideos.com/video47859095/-_-_-_ 128 | https://www.xvideos.com/video44559489/3p_ 129 | https://www.xvideos.com/video46062755/_2o3o9o415_ 130 | https://www.xvideos.com/video49132081/_tatazw_ 131 | https://www.xvideos.com/video42198759/asian_girl_aoi_tsukasa_interracial_fucking_2_big_black_cock 132 | https://www.xvideos.com/video36877707/bbc_playboy_annihilates_aoi_tsukasa_s_pussy 133 | https://www.xvideos.com/video37854819/142_minutes_non-stop_shooting_cleaning_a_long_time_to_cum_29_volley_in_uncut_edit_blow_and_bukkake_21_volley_ 134 | https://www.xvideos.com/video29647931/asian_lesbians_tribbing_like_crazy 135 | https://www.xvideos.com/video47960005/_2_ 136 | https://www.xvideos.com/video47915723/korean_bj_beautiful_tit_show_cam_ 137 | https://www.xvideos.com/video40447599/_ 138 | https://www.xvideos.com/video47862255/_-_-_ 139 | https://www.xvideos.com/video47861675/_-_-1_ 140 | https://www.xvideos.com/video44685381/_ 141 | https://www.xvideos.com/video49331025/erotic_sailor_uniform 142 | https://www.xvideos.com/video32952213/_-esayporn.blogspot 143 | https://www.xvideos.com/video37490457/hard_demon_hentai_fuck_naughty3d.net 144 | https://www.xvideos.com/video46715363/beautiful_vlxx.icu 145 | https://www.xvideos.com/video39636391/vao_nha_nghi_it_em 146 | https://www.xvideos.com/video49185457/_ 147 | https://www.xvideos.com/video46140239/_19_ 148 | https://www.xvideos.com/video30994821/_ 149 | https://www.xvideos.com/video11261418/_ 150 | https://www.xvideos.com/video40314789/_ 151 | https://www.xvideos.com/video48898441/_ 152 | https://www.xvideos.com/video49304957/_ 153 | https://www.xvideos.com/video48446099/cesd-293_www.opjav.icu_woe 154 | https://www.xvideos.com/video47251043/_part.2_ 155 | https://www.xvideos.com/video48160511/_ 156 | https://www.xvideos.com/video48457199/_ 157 | https://www.xvideos.com/video48457147/_ 158 | https://www.xvideos.com/video48352493/japanese_jk 159 | https://www.xvideos.com/video45600061/18_jd_loli_ 160 | https://www.xvideos.com/video41904605/ntr-007_-_..._ 161 | https://www.xvideos.com/video36807709/_ 162 | https://www.xvideos.com/video37095375/shy_teen 163 | https://www.xvideos.com/video30731971/baby_girl_japanese_baby_baby_sex_teen_baby_japanese_2_full_goo.gl_rkqxgs 164 | https://www.xvideos.com/video45559526/_daisy_sell_out_3rd_hd 165 | https://www.xvideos.com/video15247349/3d_hentai_-_www.cgirls.tk 166 | https://www.xvideos.com/video19979327/_24video.xxx_akuma_no_oshigoto 167 | https://www.xvideos.com/video39298400/hardcore_hentai_fuck 168 | https://www.xvideos.com/video37604627/hentai_pussy_fuck_naughty3d.net 169 | https://www.xvideos.com/video46222033/_97_ 170 | https://www.xvideos.com/video47731713/_-2_ 171 | https://www.xvideos.com/video46943799/_ 172 | https://www.xvideos.com/video47884699/_bj_2_ 173 | https://www.xvideos.com/video47315817/korean_bj_2019041701_bj_couples 174 | https://www.xvideos.com/video49128459/mikami_yua_f_ 175 | https://www.xvideos.com/video47894767/_1 176 | https://www.xvideos.com/video44445153/_18_ 177 | https://www.xvideos.com/video49220255/hot_japanese_teacher_full_vid_http_biastonu.com_34xi 178 | https://www.xvideos.com/video49225765/fucking_a_cute_sexy_teen_sex_doll_130cm_piper_doll_phoebe 179 | https://www.xvideos.com/video49101655/short_hair_hot_japanese_jerks_classmate_off_in_a_gym 180 | https://www.xvideos.com/video40179715/cute_japan_girl_fucking_her_bf_in_hotel 181 | https://www.xvideos.com/video44779013/_ 182 | https://www.xvideos.com/video38041841/_~_~ 183 | https://www.xvideos.com/video40712405/_79206569 184 | https://www.xvideos.com/video33018949/takigawa_kanon_1 185 | https://www.xvideos.com/video48456629/_ 186 | https://www.xvideos.com/video43842621/petite_japanese_teen_with_clean_shaved_pussy_pleasured 187 | https://www.xvideos.com/video48454503/_ 188 | https://www.xvideos.com/video40652121/_2 189 | https://www.xvideos.com/video49118725/_1 190 | https://www.xvideos.com/video49112671/hot_girl_masturbate 191 | https://www.xvideos.com/video49112803/_ 192 | https://www.xvideos.com/video24710791/90_ 193 | https://www.xvideos.com/video26200813/chinese_so_lo_webcam 194 | https://www.xvideos.com/video48738655/hidori_rose_-_rem_made_to_cum_and_given_facial_part_1_-_watch_free_full_video_on_http_bigtittyvideos.com_ 195 | https://www.xvideos.com/video25757509/asiaporn.cf_a_jj_ 196 | https://www.xvideos.com/video34395323/_more_on_150hm.com 197 | https://www.xvideos.com/video49284073/_sizeaa 198 | https://www.xvideos.com/video49220923/_ 199 | https://www.xvideos.com/video41817801/_ 200 | https://www.xvideos.com/video30678391/star_a.j._creampie_compilation 201 | https://www.xvideos.com/video30705193/stars_creampie_compilation_2 202 | https://www.xvideos.com/video41594843/beauty_chinese_live_06_http_linkzup.com_fvajfk6b 203 | https://www.xvideos.com/video40749727/_ 204 | https://www.xvideos.com/video10793389/phimse.net_amatuer_sex_videos_collection_of_phimse.net_2 205 | https://www.xvideos.com/video48236412/_ 206 | https://www.xvideos.com/video48260580/_2_1 207 | https://www.xvideos.com/video48696097/_ 208 | https://www.xvideos.com/video48300218/_ 209 | https://www.xvideos.com/video48099711/_ 210 | https://www.xvideos.com/video48459853/_uuyo056.com 211 | https://www.xvideos.com/video48394227/_ 212 | https://www.xvideos.com/video48514183/teacher_tsukasa_aoi_fucks_student_in_the_classroom 213 | https://www.xvideos.com/video48370245/nhut_nhat_chuyen_tinh_duc_nho_co_ban_than_giup_o 214 | https://www.xvideos.com/video48456837/_ 215 | https://www.xvideos.com/video48242736/_6996oo242_ 216 | https://www.xvideos.com/video48316191/japanese_massage_02 217 | https://www.xvideos.com/video40421333/_ 218 | https://www.xvideos.com/video49302139/s-cute_rei_flirting_sex_with_a_so_charming_girl_-_nanairo.co 219 | https://www.xvideos.com/video32730921/esayporn-91_-esayporn.blogspot.com 220 | https://www.xvideos.com/video33902067/_ 221 | https://www.xvideos.com/video33740935/_ 222 | https://www.xvideos.com/video39004329/chinese_cameraman_fucked_model_at_hotel 223 | https://www.xvideos.com/video39533053/_ 224 | https://www.xvideos.com/video48937505/_ 225 | https://www.xvideos.com/video48460013/_uuyo056.com 226 | https://www.xvideos.com/video42513591/chu_oi_tha_cho_chau 227 | https://www.xvideos.com/video48313121/_00_qq_2141434090 228 | https://www.xvideos.com/video48890103/_uuyo056.com 229 | https://www.xvideos.com/video49059553/_uuyo056.xyz 230 | https://www.xvideos.com/video48844919/_00_uuyo056.com 231 | https://www.xvideos.com/video49060629/_uuyo056.xyz 232 | https://www.xvideos.com/video46900073/_ 233 | https://www.xvideos.com/video48750301/_._q_614402787_ 234 | https://www.xvideos.com/video48742575/_potato_ 235 | https://www.xvideos.com/video46147473/_ 236 | https://www.xvideos.com/video46720335/_q_614402787_ 237 | https://www.xvideos.com/video45882511/_-_ 238 | https://www.xvideos.com/video48459297/00_uuyo056.com 239 | https://www.xvideos.com/video47963415/_ 240 | https://www.xvideos.com/video48459213/_uuyo056.com 241 | https://www.xvideos.com/video48933247/_uuyo056.com 242 | https://www.xvideos.com/video49212061/_hz761.com 243 | https://www.xvideos.com/video44166843/very_cute_chinese_girl_blowjob_-_https_asiansister.com_ 244 | https://www.xvideos.com/video46711453/sexy_model_with_nice_boobs_and_curvy_body_-_japanese_sex_doll 245 | https://www.xvideos.com/video49503375/cute_beauty_pretty_teen_ready_to_fuck_pleasure-sexy-doll.com 246 | https://www.xvideos.com/video42437865/beautiful_babe_good_beautiful 247 | https://www.xvideos.com/video28119873/_ 248 | https://www.xvideos.com/video28034445/_ 249 | https://www.xvideos.com/video37097315/library_fuck 250 | https://www.xvideos.com/video35080029/2_asian_teen_p1_watch_more_at_maniacporn.com_ 251 | https://www.xvideos.com/video34504521/_..._rina_ishihara_adn-046 252 | https://www.xvideos.com/video30072673/99-03-28510_0_25_0_10_ 253 | https://www.xvideos.com/video37288543/dam_nu 254 | https://www.xvideos.com/video37373463/_hnd-513_javdove.com 255 | https://www.xvideos.com/video32767047/chubby_japanese_mom_blow_and_fucked 256 | https://www.xvideos.com/video40506041/_3p_ 257 | https://www.xvideos.com/video49632091/_u_203696690_2019_ 258 | https://www.xvideos.com/video49213855/_u_203696690_ 259 | https://www.xvideos.com/video49286267/_-_18_203696690_3dh_app_ 260 | https://www.xvideos.com/video49234555/_2267371183 261 | https://www.xvideos.com/video31482161/_2_. 262 | https://www.xvideos.com/video49313665/_j_u_203696690_ 263 | https://www.xvideos.com/video48750301/_._q_798692813_ 264 | https://www.xvideos.com/video48318725/_ 265 | https://www.xvideos.com/video46838183/_ 266 | https://www.xvideos.com/video47670261/_00_wx19826800 267 | https://www.xvideos.com/video48459929/_uuyo056.com 268 | https://www.xvideos.com/video49394029/_uuyo056.xyz 269 | https://www.xvideos.com/video48933805/_00_uuyo056.xyz 270 | https://www.xvideos.com/video49393567/_00_uuyo056.xyz 271 | https://www.xvideos.com/video34601675/_ 272 | https://www.xvideos.com/video49258923/_uuyo056.xyz 273 | https://www.xvideos.com/video49196529/_d_uuyo056.xyz 274 | https://www.xvideos.com/video38496073/_ 275 | https://www.xvideos.com/video38496215/_ 276 | https://www.xvideos.com/video38518377/_ 277 | https://www.xvideos.com/video32555765/korean_teen_clean_body_-_pvporn.me 278 | https://www.xvideos.com/video28549839/korean_schoolgirl_roleplay 279 | https://www.xvideos.com/video20724027/girls_generation_tributo_xxx 280 | https://www.xvideos.com/video28735349/korea 281 | https://www.xvideos.com/video29120803/cute_korean_baby_hard_fuck_1_nanairo.co 282 | https://www.xvideos.com/video15762983/good_night_2 283 | https://www.xvideos.com/video23004709/_ 284 | https://www.xvideos.com/video24156613/_ 285 | https://www.xvideos.com/video20817931/iphone_ktv_fun 286 | https://www.xvideos.com/video35203277/mov1332554 287 | https://www.xvideos.com/video24289373/8 288 | https://www.xvideos.com/video24392593/clip_.mp4.mp4_-_openload 289 | https://www.xvideos.com/video27892881/real_homemade_asian_couple_fuck_new_ 290 | https://www.xvideos.com/video32759437/hot_chinese_girl 291 | https://www.xvideos.com/video32360013/_b_ 292 | https://www.xvideos.com/video31085593/_malaysa_38p 293 | https://www.xvideos.com/video33895543/_qiang_.wmv 294 | https://www.xvideos.com/video37171991/change_wife_4_p 295 | https://www.xvideos.com/video30818221/_ 296 | https://www.xvideos.com/video31085855/2017_5000_2_.mp4 297 | https://www.xvideos.com/video31415767/027_nancy_part1_-_fuckasianbeauty.com 298 | https://www.xvideos.com/video35202505/mov0521452.mov 299 | https://www.xvideos.com/video34228421/fucking_pretty_girl_in_sleeping_7_-_javshare99.net 300 | https://www.xvideos.com/video29965863/fucking_pretty_girl_in_sleeping_6_-_javshare99.net 301 | https://www.xvideos.com/video30710041/hairy_sleepy_japanese_pussy-_creampie 302 | https://www.xvideos.com/video30543255/19yo_slow_stripping_and_rubbing_her_pussy 303 | https://www.xvideos.com/video30958323/asian_housewife_banged_in_front_of_sleeping_sucker_husband 304 | https://www.xvideos.com/video29258397/sneaking_in_on_sister_xxx-video.top_ 305 | https://www.xvideos.com/video32056793/scandal_sex_student_korea_beautiful_link_full_hd_http_bit.ly_2jldtli 306 | https://www.xvideos.com/video21224065/iphone_lascivious_night_club 307 | https://www.xvideos.com/video10019921/_ 308 | https://www.xvideos.com/video10639064/_koreanporn.us_ 309 | https://www.xvideos.com/video25250701/_ 310 | https://www.xvideos.com/video16775779/purpose_of_reunion_kim_yoo-yeon_ 311 | https://www.xvideos.com/video8600571/hot_korean_high_school_students_sucks_and_fucks 312 | https://www.xvideos.com/video28629233/korean_fuck_with_massage_oil 313 | https://www.xvideos.com/video22295535/super_hot_-what_is_her_name_please_link_full_ 314 | https://www.xvideos.com/video21181857/who_is_she 315 | https://www.xvideos.com/video10272023/hot_oily_massage_with_two_asian_girls 316 | https://www.xvideos.com/video10272070/hot_oil_massage_with_two_amazing_asian_girls 317 | https://www.xvideos.com/video13943049/slowly_oiled_massage_ends_with_deep_fingering 318 | https://www.xvideos.com/video33979785/asian_girl_doggy_-_sluttyteencams.com 319 | https://www.xvideos.com/video30267587/korean_artist._is_this_real..._ 320 | https://www.xvideos.com/video24713273/_the_unspoken_rules_of_korean_entertainment_circle 321 | https://www.xvideos.com/video9774463/_phimse.net_k-pop_sex_scandal_korean_celebrities_prostituting_vol_17 322 | https://www.xvideos.com/video9774463/_phimse.net_k-pop_sex_scandal_korean_celebrities_prostituting_vol_17# 323 | https://www.xvideos.com/video1303011/korean.sex.scandal.2011.vol.16.www.hotfileindex.com 324 | https://www.xvideos.com/video1303030/korean.sex.scandal.2011.kvol.07b.hotfileindex.com 325 | https://www.xvideos.com/video9023115/scandal_korean_collegegirl_homevideo_1 326 | https://www.xvideos.com/video1303015/korean.sex.scandal.2011.vol.19.www.hotfileindex.com 327 | https://www.xvideos.com/video11831601/horny_korean_bitch_loves_to_give_blowjob_to_her_boyfriend 328 | https://www.xvideos.com/video23354672/_2._sex_is_zero_2015_91ava.com 329 | https://www.xvideos.com/video28549839/korean_schoolgirl_roleplay# 330 | https://www.xvideos.com/video32321063/aoa_seolhyun_fancam_-_heart_attack_xxx_pmv_china_matsuoka_1_of_2_fapmusic.com 331 | https://www.xvideos.com/video32295449/laysha_fancam_-_i_m_coming_pmv_xxx_part_1_of_3_-_by_fapmusic 332 | https://www.xvideos.com/video32322413/shin_-_dbd_xxx_pmv_chinese_pop_-_by_fapmusic 333 | https://www.xvideos.com/video1300813/korean.sex.scandal.2011.vol.14.www.hotfileindex.com 334 | https://www.xvideos.com/video31409663/beutiful_girl_show_cam_-_view_more_xasias.com 335 | https://www.xvideos.com/video30376479/co_nu_sinh_body_tuyet_hao_-_truyensexmoi.net 336 | https://www.xvideos.com/video30829879/oppai 337 | https://www.xvideos.com/video23133241/oppai 338 | https://www.xvideos.com/video39563075/fc2_real_amateur_selection_18-year-old_pop-up_student_girl 339 | https://www.xvideos.com/video40033173/_ 340 | https://www.xvideos.com/video41126383/_ 341 | https://www.xvideos.com/video39913949/91_-_173_-1080p_ 342 | https://www.xvideos.com/video39913977/91_-_ol_3p_-1080p_ 343 | https://www.xvideos.com/video39443602/91_5_-_soe699_99_-1080p_ 344 | https://www.xvideos.com/video39576981/best_girl_chinese_fucked_with_her_boyfriend 345 | https://www.xvideos.com/video34872149/98g_-chinese_homemade_video 346 | https://www.xvideos.com/video34455359/most_beautiful_japanese_woman_ever-_see_more_at_www.oppavids.com 347 | https://www.xvideos.com/video10637158/the_best_beautiful_korean_girl_sextape_with_boyfriend 348 | https://www.xvideos.com/video30251023/does_anyone_know_this_girl_ 349 | https://www.xvideos.com/video29487323/phim_sex_han_quoc_nhung_cap_vu_tuyet_ep.mp4 350 | https://www.xvideos.com/video27479399/beauty_saloon_part_1.flv 351 | https://www.xvideos.com/video27479375/beauty_saloon_part_2.flv 352 | https://www.xvideos.com/video25766815/korean_big_tits_actress_fucked_hard 353 | https://www.xvideos.com/video26040399/gorgeous_korean_girl_fucked_in_movie 354 | https://www.xvideos.com/video16998939/strange_hair_salon 355 | https://www.xvideos.com/video20652879/watch_moivies_18_visit_goo.gl_hucbng 356 | https://www.xvideos.com/video27750431/korea1818.com_-_hot_sexy_horny_korean_girl_fucks 357 | https://www.xvideos.com/video31829513/busty_titty_girl_sucks_and_fucks 358 | https://www.xvideos.com/video29739975/first_sex_then_love 359 | https://www.xvideos.com/video29194233/what_is_the_name_of_this_movie_who_knows_to_answer_me 360 | https://www.xvideos.com/video18555527/xvideos.com_603b21c4b3425c8d5624ea1b822ffbc9 361 | https://www.xvideos.com/video18487285/024-1.3 362 | https://www.xvideos.com/video28732775/_bd-1080p.mkv_2.52gb_.cut.1_05_14-1_68_16 363 | https://www.xvideos.com/video29437831/korean_softcore_clip 364 | https://www.xvideos.com/video34642137/korean_girl_with_older_man 365 | https://www.xvideos.com/video29557715/beautiful_cute_corean_cam_girl_bj_neat_does_sexy_close_up.mp4 366 | https://www.xvideos.com/video28429305/sexy_korean_webcam_bj_-_kbj17060708 367 | https://www.xvideos.com/video29524071/subin_new_ 368 | https://www.xvideos.com/video22490829/teen_korea_masturbating_in_bathroom 369 | https://www.xvideos.com/video27876097/_ 370 | https://www.xvideos.com/video35071653/kbj_neat-16100905 371 | https://www.xvideos.com/video34587533/korea_bj_webcam_040318.2024 372 | https://www.xvideos.com/video34424947/korea_bj_webcam_040318.0235 373 | https://www.xvideos.com/video33877357/korean_webcam_bj_130218.1049 374 | https://www.xvideos.com/video41752587/streamer_masturbate 375 | https://www.xvideos.com/video45289191/_~_ashle_mypornstation.com 376 | https://www.xvideos.com/video42963147/_ashley_2_mypornstation.com 377 | https://www.xvideos.com/video40055019/_mypornstation 378 | https://www.xvideos.com/video41532729/_sm_ 379 | https://www.xvideos.com/video37221897/korean_girls_dancing_in_naked_camsex4u.life 380 | https://www.xvideos.com/video32781225/hacked_korean_couple_leaked_6 381 | https://www.xvideos.com/video15127289/anal_teen_sucks_and_gets_fucked 382 | https://www.xvideos.com/video38307017/korean_sex 383 | https://www.xvideos.com/video39569907/_mypornstation 384 | https://www.xvideos.com/video39804077/_mypornstation.com 385 | https://www.xvideos.com/video38437615/korean_bj_8232_mypornstation 386 | https://www.xvideos.com/video31478591/kbj081001_new_ 387 | https://www.xvideos.com/video31286317/hentai_asian_cam_girl_masturbating_with_dildo_-_myxcamgirl.com 388 | https://www.xvideos.com/video28687427/cutiechinese_chaturbate_camgirl_-_myxcamgirl.com 389 | https://www.xvideos.com/video24935033/e_gai_show_xm 390 | https://www.xvideos.com/video32616035/cute_chinese_girl 391 | https://www.xvideos.com/video40660193/chinese_sexy_girl 392 | https://www.xvideos.com/video34455447/chinese_cam_girl_miss_deer_-_masturbation_show 393 | https://www.xvideos.com/video33709273/cindy1113_webcam 394 | https://www.xvideos.com/video30968229/asian_teen_-_more_sexgirlcamonline.site 395 | https://www.xvideos.com/video31056919/big_tit_korean_girl_on_cam_-_more_sexgirlcamonline.site 396 | https://www.xvideos.com/video37752575/hot_korean_video_85 397 | https://www.xvideos.com/video34185881/hot_korean_video_49 398 | https://www.xvideos.com/video34014099/kbj_2028 399 | https://www.xvideos.com/video34083543/hot_korean_video_32 400 | https://www.xvideos.com/video33776957/_ 401 | https://www.xvideos.com/video25178893/6481486_very_cute_girl_selphy 402 | https://www.xvideos.com/video35298129/cute_girl_2 403 | https://www.xvideos.com/video26929017/s-cute_359 404 | https://www.xvideos.com/video35659195/cave_nhat_scute_ia_chi_tai_nanairo.co_ 405 | https://www.xvideos.com/video29074475/japvoyeur_part_3_more_video_zenvoyeur.com 406 | https://www.xvideos.com/video34104415/japanese_baby_cute_hot 407 | https://www.xvideos.com/video29562415/japanese_model_ameri_ichinose_hotel_fuck_and_cum_in_mouth_hd_-_seefreepussy.com 408 | https://www.xvideos.com/video28949063/_854x480_korean_model 409 | https://www.xvideos.com/video22283727/gotporn-tiny-japanese-babe-fingered-and-facialized 410 | https://www.xvideos.com/video32070825/_s-cute_372_phim_it_yurina_ayashiro_cuc_phe_-_nanairo.co 411 | https://www.xvideos.com/video38419185/japanese_1 412 | https://www.xvideos.com/video34198415/japanese_girl 413 | https://www.xvideos.com/video32799739/cute_japanese_teen 414 | https://www.xvideos.com/video31478743/kbj081701_new_ 415 | https://www.xvideos.com/video28737153/jav_idol_asami_tsuchiya_es_follada_duro 416 | https://www.xvideos.com/video28825983/hardcore_garden_fucked 417 | https://www.xvideos.com/video23610096/what_is_her_name_ 418 | https://www.xvideos.com/video41167657/_ 419 | https://www.xvideos.com/video38644795/91_1080p_ 420 | https://www.xvideos.com/video40413383/_ 421 | https://www.xvideos.com/video40540663/_ 422 | https://www.xvideos.com/video40575327/_ 423 | https://www.xvideos.com/video39945353/_ 424 | https://www.xvideos.com/video40484431/_ 425 | https://www.xvideos.com/video40089941/cute_and_tender_japanese_girl_very_excited 426 | https://www.xvideos.com/video40032071/_ 427 | https://www.xvideos.com/video40001789/_ 428 | https://www.xvideos.com/video40001693/_ 429 | https://www.xvideos.com/video39847671/_ 430 | https://www.xvideos.com/video39817923/_ 431 | https://www.xvideos.com/video39689427/seyou19.com_ 432 | https://www.xvideos.com/video40064229/seyou19.com_720p_ 433 | https://www.xvideos.com/video35271627/nice_asian_girl 434 | https://www.xvideos.com/video39945357/_ 435 | https://www.xvideos.com/video40032063/_ 436 | https://www.xvideos.com/video38558023/big_tits_japanese_-_nanairo.co 437 | https://www.xvideos.com/video34564471/0010 438 | https://www.xvideos.com/video34256223/20_years_old_experiences_multiple_orgasm_pt2_-_oppavids.com 439 | https://www.xvideos.com/video24123057/259luxu-457_sample 440 | https://www.xvideos.com/video25373555/200gana-1238_sample 441 | https://www.xvideos.com/video26657621/siro-2973_sample 442 | https://www.xvideos.com/video25486235/bgn-041_sample 443 | https://www.xvideos.com/video25968347/259luxu-567_sample 444 | https://www.xvideos.com/video22769635/259luxu-350_sample 445 | https://www.xvideos.com/video19975187/259luxu-238_sample 446 | https://www.xvideos.com/video18506797/259luxu-248_sample 447 | https://www.xvideos.com/video14921697/259luxu-022_sample 448 | https://www.xvideos.com/video18634121/259luxu-216_sample 449 | https://www.xvideos.com/video16807871/siro-2550_sample 450 | https://www.xvideos.com/video16277741/261ara-016_sample 451 | https://www.xvideos.com/video18631041/259luxu-207_sample 452 | https://www.xvideos.com/video20213195/259luxu-272_sample 453 | https://www.xvideos.com/video22995653/259luxu-381_sample 454 | https://www.xvideos.com/video25828841/259luxu-545_sample 455 | https://www.xvideos.com/video14802807/hot_asian_girl_rammed 456 | https://www.xvideos.com/video24725039/siro-2875_sample 457 | https://www.xvideos.com/video25945499/siro-2947_sample 458 | https://www.xvideos.com/video19494839/200gana-975_sample 459 | https://www.xvideos.com/video15909121/siro-2536_sample 460 | https://www.xvideos.com/video34963659/_u_em_vu_cang_suong_te_nguoi 461 | https://www.xvideos.com/video34255287/20_years_old_experiences_multiple_orgasm_pt1_-_oppavids.com 462 | https://www.xvideos.com/video40032193/_ 463 | https://www.xvideos.com/video40238245/_ 464 | https://www.xvideos.com/video40238235/_ 465 | https://www.xvideos.com/video40575303/_ 466 | https://www.xvideos.com/video39944673/_ 467 | https://www.xvideos.com/video40238103/_ 468 | https://www.xvideos.com/video40237943/_ 469 | https://www.xvideos.com/video40002231/_ 470 | https://www.xvideos.com/video36264557/_ 471 | https://www.xvideos.com/video40574861/_ 472 | https://www.xvideos.com/video40089849/_ 473 | https://www.xvideos.com/video40443703/3000_ 474 | https://www.xvideos.com/video39944663/_ 475 | https://www.xvideos.com/video40575183/_ 476 | https://www.xvideos.com/video39944809/_ 477 | https://www.xvideos.com/video40575313/_ 478 | https://www.xvideos.com/video40413013/_ 479 | https://www.xvideos.com/video15478655/k2 480 | https://www.xvideos.com/video28781607/korean_girl_surprised_by_the_sized 481 | https://www.xvideos.com/video22238845/hfhh 482 | https://www.xvideos.com/video25615819/japa_girl 483 | https://www.xvideos.com/video27974609/japanese_girl_got_creampie_fuked_hard 484 | https://www.xvideos.com/video18298957/good_vibes_sex 485 | https://www.xvideos.com/video28684647/grandpa_fucking_young_teen_with_beautiful_big_boobs_in_old_young_sex 486 | https://www.xvideos.com/video36980701/_ 487 | https://www.xvideos.com/video40238247/_ 488 | https://www.xvideos.com/video39944523/_ 489 | https://www.xvideos.com/video39972417/_ 490 | https://www.xvideos.com/video39911181/_~_~_ 491 | https://www.xvideos.com/video39911311/_ 492 | https://www.xvideos.com/video39911067/_ 493 | https://www.xvideos.com/video35182157/91_30-_hlwu3.com_ 494 | https://www.xvideos.com/video34871223/_-chinese_homemade_video 495 | https://www.xvideos.com/video32042535/frf101317_1155542502_005315.694-005712.678_ 496 | https://www.xvideos.com/video30729771/baby_girl_maya_japanese_baby_baby_sex_japanese_amateur_16_full_nanairo.co 497 | https://www.xvideos.com/video30729757/baby_girl_urara_japanese_baby_baby_sex_japanese_amateur_11_full_nanairo.co 498 | https://www.xvideos.com/video30729761/baby_girl_urara_japanese_baby_baby_sex_japanese_amateur_20_full_nanairo.co 499 | https://www.xvideos.com/video30729777/baby_girl_moe_japanese_baby_baby_sex_japanese_amateur_14_full_-_nanairo.co 500 | https://www.xvideos.com/video24219997/ch9419_mao_japanese 501 | https://www.xvideos.com/video25315169/trim.913d4d18-0aa9-4727-ad5a-a4b637cf0547.mov 502 | https://www.xvideos.com/video572789/sex_asians 503 | https://www.xvideos.com/video1753702/_www.dearsx.com_-_quiet_asian_girl_with_awesome_perky_tits 504 | https://www.xvideos.com/video1491177/busty_japanese_chick_gets_facial 505 | https://www.xvideos.com/video2368204/japanese_girl_yui_sarina_likes_cum_on_her_face_after_sex 506 | https://www.xvideos.com/video29744219/petite_darling_yui_sarina_is_performing_a_wild_cock_rodeo_expertly 507 | https://www.xvideos.com/video30611477/curvy_hottie_yui_sarina_rides_a_massive_and_stiff_dick_till_she_is_satisfied 508 | https://www.xvideos.com/video4154396/horny_milf_yui_sarina 509 | https://www.xvideos.com/video20390239/busty_haruka_ohsawa_rides_cock_like_a_true_angel 510 | https://www.xvideos.com/video29448117/huge_tits_shizuku_morino_amazing_porn_play_in_pov 511 | https://www.xvideos.com/video28918483/sex_gai_xinh_massage_cuc_hay_xxx_-_vlxx.tv 512 | https://www.xvideos.com/video6113156/student_at_home 513 | https://www.xvideos.com/video24371011/_ 514 | https://www.xvideos.com/video23961662/_ 515 | https://www.xvideos.com/video28506745/_93_ 516 | https://www.xvideos.com/video28334295/_47_ 517 | https://www.xvideos.com/video27896483/_._www.dooshe2013.com_ 518 | https://www.xvideos.com/video28056901/_ 519 | https://www.xvideos.com/video37057027/thai_young_part_3 520 | https://www.xvideos.com/video37169311/china_matsuoka_get_drilled_while_make_up 521 | https://www.xvideos.com/video29405365/106_mia_evans_160801_12min 522 | https://www.xvideos.com/video32448049/thai_amateur_young_couple_sex_2 523 | https://www.xvideos.com/video28551841/_97_ 524 | https://www.xvideos.com/video14825601/_ 525 | https://www.xvideos.com/video17709749/_ 526 | https://www.xvideos.com/video28686731/korean_bj_kim_ha_neul_private_video_-_myxcamgirl.com 527 | https://www.xvideos.com/video36787335/gai_xinh_han_quoc_thu_dam 528 | https://www.xvideos.com/video31478993/korean_bj_kim_ha_neul_svip-15_new_ 529 | https://www.xvideos.com/video14061679/01 530 | https://www.xvideos.com/video14062617/pretty_korean_girl_recording_on_camera_3 531 | https://www.xvideos.com/video29001765/japanese_brunette_licking_and_sucking_her_dildo_-_onlivegirls.com 532 | https://www.xvideos.com/video14063047/pretty_korean_girl_recording_on_camera_4 533 | https://www.xvideos.com/video27841653/korean_teen_flashes_her_big_tits-www.pervycam.com 534 | https://www.xvideos.com/video27842169/cute_teen_dildo_fuck_herself-www.pervycam.com 535 | https://www.xvideos.com/video26603039/korean_bj_11 536 | https://www.xvideos.com/video10017215/_2014_ 537 | https://www.xvideos.com/video25474035/cute_korean_girl 538 | https://www.xvideos.com/video7113789/beautiful_girl_showcam 539 | https://www.xvideos.com/video25216883/who_is_she_ 540 | https://www.xvideos.com/video14061935/the_best_breasts_in_korean_bj_series_5 541 | https://www.xvideos.com/video17440707/she_got_fucked_veryhard_girlcamlive.org 542 | https://www.xvideos.com/video17125983/korean_girl_strips_on_a_webcam_part_1_-_camgirlvip.com 543 | https://www.xvideos.com/video27628423/two_sexy_korean_girls_massage 544 | https://www.xvideos.com/video22899223/korean_girls 545 | https://www.xvideos.com/video26553065/chinese_sex_scandal_with_beautiful_model_5_-_https_goo.gl_pyyp4f 546 | https://www.xvideos.com/video24814247/beautiful_chinese_girl_fucking_excited_goood_tists.mp4 547 | https://www.xvideos.com/video23708828/pretty_chinese_girl 548 | https://www.xvideos.com/video14383705/chinese_girl 549 | https://www.xvideos.com/video29664901/chinese_bank_wordker_porn_life_-_porncaoliu.com 550 | https://www.xvideos.com/video29664877/taiwanese_fuck_hard_oral_hygiene_-_porncaoliu.com 551 | https://www.xvideos.com/video11798177/china_movie_star_mini_yang_rohypnol_by_chinese_guy 552 | https://www.xvideos.com/video13307039/_ 553 | https://www.xvideos.com/video20651543/img_7836 554 | https://www.xvideos.com/video22700397/img_5092 555 | https://www.xvideos.com/video15750423/trim.b6ffbc21-1bc4-4771-ab7b-401127d278b4.mov 556 | https://www.xvideos.com/video25661873/trim.6f35f4c8-11c1-4316-b1e9-8e355350e65d.mov 557 | https://www.xvideos.com/video26163539/beautiful_chinese_couple_make_love_-_https_goo.gl_npehin 558 | https://www.xvideos.com/video33797139/170_115_-chinese_homemade_video 559 | https://www.xvideos.com/video33737759/hd-720p_jm18_d_ 560 | https://www.xvideos.com/video29629131/91_c_108p_ 561 | https://www.xvideos.com/video32776639/_175cm_ 562 | https://www.xvideos.com/video40413667/_ 563 | https://www.xvideos.com/video39944833/_ 564 | https://www.xvideos.com/video41555337/hot_cosplay_girl_http_kuaihuoa.com 565 | https://www.xvideos.com/video35965159/cosplay_japanese_https_ouo.io_8hfb1a_ 566 | https://www.xvideos.com/video38784861/forest_nymph_-_icy_oral_tease 567 | https://www.xvideos.com/video32377007/someone_tell_me_this_girl_s_name_please_ 568 | https://www.xvideos.com/video25706583/name_please_ 569 | https://www.xvideos.com/video34103229/model_name_shinukii_-_cosplay_mikasa 570 | https://www.xvideos.com/video42407467/sexy_cosplayer_rocksylight_ 571 | https://www.xvideos.com/video39673701/_ 572 | https://www.xvideos.com/video39788869/chinese_cosplay_teen 573 | https://www.xvideos.com/video15181745/fucking_chinese_amateur_cosplay_babe 574 | https://www.xvideos.com/video34255291/chinese_girl 575 | https://www.xvideos.com/video39078718/_ 576 | https://www.xvideos.com/video38863933/kashiwazaki_sena_cosplay 577 | https://www.xvideos.com/video40413645/_ 578 | https://www.xvideos.com/video39819223/_ 579 | https://www.xvideos.com/video40412803/_ 580 | https://www.xvideos.com/video39665685/_3p_ 581 | https://www.xvideos.com/video46235373/_-_-vip_ 582 | https://www.xvideos.com/video40259387/aya_sazanami-_xinh_ep 583 | https://www.xvideos.com/video39081504/sex_big_ass 584 | https://www.xvideos.com/video29245335/_svip-06_new_ 585 | https://www.xvideos.com/video29660709/korean_girl_masturbates_on_cam 586 | https://www.xvideos.com/video29963269/43829 587 | https://www.xvideos.com/video16755305/nineteen_no_imagining_kim_cheong-soon 588 | https://www.xvideos.com/video18555575/xvideos.com_55c521766f302edcf2c88021d45161c8 589 | https://www.xvideos.com/video24873101/her_name_or_full_video_please 590 | https://www.xvideos.com/video20591257/korean_wife 591 | https://www.xvideos.com/video24284145/amateur_hentai_wojav.com 592 | https://www.xvideos.com/video24370845/korean_uncen_14# 593 | https://www.xvideos.com/video39908667/91_-_-1080p_ 594 | https://www.xvideos.com/video33550433/_d_2 595 | https://www.xvideos.com/video49212061/_uuyo056.xyz 596 | https://www.xvideos.com/video35599009/_ 597 | https://www.xvideos.com/video35483849/_ 598 | https://www.xvideos.com/video33414571/jk_style_cumshot 599 | https://www.xvideos.com/video35599387/_ 600 | https://www.xvideos.com/video27568791/japanese_female_student 601 | https://www.xvideos.com/video24910753/japanese_teen_quiet_reaction_girlsxxxcam_com 602 | https://www.xvideos.com/video30461965/baby_girl_risa_japanese_baby_baby_sex_japanese_amateur_1_full_in_nanairo.co 603 | https://www.xvideos.com/video30461759/baby_girl_hina_japanese_baby_baby_sex_japanese_amateur_7_full_in_nanairo.co 604 | https://www.xvideos.com/video27568895/japanese_teen 605 | https://www.xvideos.com/video28953991/japanese_student_fuck 606 | https://www.xvideos.com/video43911585/petite_japanese_teen_fucked 607 | https://www.xvideos.com/video37725073/sex_hentai_ 608 | https://www.xvideos.com/video35754139/_ 609 | https://www.xvideos.com/video35826349/_ 610 | https://www.xvideos.com/video35826027/_ 611 | https://www.xvideos.com/video35880715/_ 612 | https://www.xvideos.com/video34546475/_ 613 | https://www.xvideos.com/video31831345/sex_teens_asian_beautifull_girl_japanese_jav 614 | https://www.xvideos.com/video31812505/sex_asian_beautifull_girl_japanese_jav 615 | https://www.xvideos.com/video34621893/_ 616 | https://www.xvideos.com/video35016495/_ 617 | https://www.xvideos.com/video31367189/cute_girl_suck_and_fuck 618 | https://www.xvideos.com/video33448767/cute_teen_girl_show_-_javshare99_net 619 | https://www.xvideos.com/video27218155/hot_girl_nhu_y_-_couple_vietnam_scandal_8_-_javshare99.net 620 | https://www.xvideos.com/video35599129/_ 621 | https://www.xvideos.com/video30364401/realitykings_-_teens_love_huge_cocks_-_alice_merchesi_bambino_-_lollipop_cock 622 | https://www.xvideos.com/video35825307/_ 623 | https://www.xvideos.com/video36085711/18_express666999 624 | https://www.xvideos.com/video36311673/_ 625 | https://www.xvideos.com/video36401903/_kis 626 | https://www.xvideos.com/video35378513/_ 627 | https://www.xvideos.com/video36508977/_ 628 | https://www.xvideos.com/video40273495/_1 629 | https://www.xvideos.com/video40275941/_3 630 | https://www.xvideos.com/video36086005/18_express666999 631 | https://www.xvideos.com/video39882993/_ 632 | https://www.xvideos.com/video33501577/_ 633 | https://www.xvideos.com/video33501577/_# 634 | https://www.xvideos.com/video12025333/18yo_girl_selfi_video 635 | https://www.xvideos.com/video33446047/_ 636 | https://www.xvideos.com/video30694183/full_breasted_asian_posing_and_playing 637 | https://www.xvideos.com/video39773715/a_shemale_get_fucked_with_a_lucky_man 638 | https://www.xvideos.com/video39770233/a_beautiful_chinese_shemale_need_you_to_serve 639 | https://www.xvideos.com/video38579455/ts_3p_ 640 | https://www.xvideos.com/video34170979/crossdressing_and_fuck_with_chinese_guy_cross_by_me_ 641 | https://www.xvideos.com/video20948781/ts_ 642 | https://www.xvideos.com/video34235055/_ 643 | https://www.xvideos.com/video30599291/big_tits_cute_asian_nurse 644 | https://www.xvideos.com/video48607849/_-_ 645 | https://www.xvideos.com/video48608121/_-_1_ 646 | https://www.xvideos.com/video48676469/_a 647 | https://www.xvideos.com/video48114161/_-jk_715147447 648 | https://www.xvideos.com/video48114401/_715147447 649 | https://www.xvideos.com/video48444677/_-_a 650 | https://www.xvideos.com/video47903519/_ 651 | https://www.xvideos.com/video47903519/_# 652 | https://www.xvideos.com/video26977357/_ 653 | https://www.xvideos.com/video46178425/_ 654 | https://www.xvideos.com/video47543211/_4_soolo888_ 655 | https://www.xvideos.com/video31410733/_4_ 656 | https://www.xvideos.com/video31549371/_ 657 | https://www.xvideos.com/video9398607/office_lady_getting_her_pussy_fucked_in_the_hotel_room 658 | https://www.xvideos.com/video27685389/_96_ 659 | https://www.xvideos.com/video31433477/ktv_4p_3p_b_9_trailers_ 660 | https://www.xvideos.com/video30755529/_nm_mm_trailers_ 661 | https://www.xvideos.com/video30521641/_trailers_ 662 | https://www.xvideos.com/video9856801/_-1 663 | https://www.xvideos.com/video25366509/moko_91_ 664 | https://www.xvideos.com/video26577557/cum_shot_in_bathroom_with_korean_girlfriend_more_at_hanquoc18.blogspot.com 665 | https://www.xvideos.com/video19242627/korean_porn_bj_so_beutiful_www.faplord.xyz 666 | https://www.xvideos.com/video406189/hot_girl_oiled_body_getting_her_pussy_licked_giving_blowjob_rubbing_cock_with_ass_in_the_bathroom 667 | https://www.xvideos.com/video48130919/_sex_video_part_2_ai_-_deepfakesporn.com 668 | https://www.xvideos.com/video46695605/_ 669 | https://www.xvideos.com/video33472453/_j8_ 670 | https://www.xvideos.com/video38996791/asian_hot_01 671 | https://www.xvideos.com/video39782045/asian_hot_26 672 | https://www.xvideos.com/video39176972/asian_hot_11 673 | https://www.xvideos.com/video39718565/asian_hot_19 674 | https://www.xvideos.com/video39663931/asian_hot_18 675 | https://www.xvideos.com/video39177986/asian_hot_12 676 | https://www.xvideos.com/video39054860/asian_hot_06 677 | https://www.xvideos.com/video39174242/asian_hot_10 678 | https://www.xvideos.com/video34544843/_cos 679 | https://www.xvideos.com/video30463597/cosplay_xidaidai_moc_cua 680 | https://www.xvideos.com/video43763059/japanese_amateur_107 681 | https://www.xvideos.com/video33178597/petite_japanese_teen_fucked_in_restroom 682 | https://www.xvideos.com/video20333917/asian_teen_gets_creampie 683 | https://www.xvideos.com/video25063383/gf_creamed_horny_korean_couple_-_jizzercams.goldros.com 684 | https://www.xvideos.com/video29703769/chinese_schoolgirl_paid_for_sex_more_asianamateurs.fun 685 | https://www.xvideos.com/video28615849/sexpornmafia.us_-_nicoly_-_korean_teen_plays_with_her_big_tits_on_cam_-_live_-_xvideos.com.ts 686 | https://www.xvideos.com/video46587599/_loli_427841183_ 687 | https://www.xvideos.com/video41918357/_52zhibo.vip 688 | https://www.xvideos.com/video49232121/_uuyo056.xyz 689 | https://www.xvideos.com/video49393887/_uuyo056.xyz 690 | https://www.xvideos.com/video48209040/_13_qq_2113590286_ 691 | https://www.xvideos.com/video47757145/_qq_2113590286 692 | https://www.xvideos.com/video47757315/_qq_2113590286 693 | https://www.xvideos.com/video47757249/_qq_2113590286 694 | https://www.xvideos.com/video38599387/_qq_2113590286_ 695 | https://www.xvideos.com/video45852813/_qq_2113590286_ 696 | https://www.xvideos.com/video48817259/_app 697 | https://www.xvideos.com/video45744189/_ 698 | https://www.xvideos.com/video48114557/_715147447 699 | https://www.xvideos.com/video48114697/_715147447 700 | https://www.xvideos.com/video45667047/_hyxg188.com 701 | https://www.xvideos.com/video34226553/mp4_ultra_36971361 702 | https://www.xvideos.com/video36752173/japanese_girl_creampie_fuck 703 | https://www.xvideos.com/video37189351/cute_japanese_sisters 704 | https://www.xvideos.com/video38250693/cute_girl_emiri 705 | https://www.xvideos.com/video37095489/fucking_schoolgirls 706 | https://www.xvideos.com/video36114681/emiry_-_nanairo.co 707 | https://www.xvideos.com/video32596885/s-cute_-_sakura_link_full_nanairo.co_ 708 | https://www.xvideos.com/video30729913/baby_girl_urara_japanese_baby_baby_sex_japanese_amateur_12_full_-_nanairo.co 709 | https://www.xvideos.com/video39728783/_kiwame.tv_jk_ 710 | https://www.xvideos.com/video45600063/18_s_..._ 711 | https://www.xvideos.com/video36099195/_ 712 | https://www.xvideos.com/video36194303/_ 713 | https://www.xvideos.com/video8653193/cosplay 714 | https://www.xvideos.com/video18673279/milf_with_amazing_forms_anna_anjo_goes_nasty_in_younger_cock 715 | https://www.xvideos.com/video20421139/perfect_hardcore_for_sakura_anna_s_tight_pussy 716 | https://www.xvideos.com/video36954697/japanese_cute_teen_-_teeniehot.com 717 | https://www.xvideos.com/video32777623/girlfriend_masturbating_infront_of_cam_-_very_very_horny 718 | https://www.xvideos.com/video32777649/horny_silly_girlfriend_ready_to_fuck 719 | https://www.xvideos.com/video32220561/retard_son_wants_to_fuck_japanese_babysitter 720 | https://www.xvideos.com/video31328247/name_her_please_ 721 | https://www.xvideos.com/video27745187/her_name_please 722 | https://www.xvideos.com/video37030091/trapped_in_the_wall_full_video_https_animescosplay2.blogspot.com_ 723 | https://www.xvideos.com/video35495407/_ol_j8_ 724 | https://www.xvideos.com/video35490955/_ 725 | https://www.xvideos.com/video42790283/_m_ 726 | https://www.xvideos.com/video36670353/teen_anal_hotcamgiirls.com 727 | https://www.xvideos.com/video42926483/_ 728 | https://www.xvideos.com/video30309043/i_guess_she_likes_sex_so_much 729 | https://www.xvideos.com/video30309255/she_did_not_get_angry_clearly_about_creampie_but_she_seemed_be_disappointed 730 | https://www.xvideos.com/video33079935/japanese_jk_3 731 | https://www.xvideos.com/video32984111/japanese_teen_getting_sex_massage 732 | https://www.xvideos.com/video47455835/_ 733 | https://www.xvideos.com/video48113895/_715147447 734 | https://www.xvideos.com/video48128565/_715147447 735 | https://www.xvideos.com/video48113845/_-_715147447 736 | https://www.xvideos.com/video48458451/_uuyo056.com 737 | https://www.xvideos.com/video35902031/_ 738 | https://www.xvideos.com/video42048335/_x_ 739 | https://www.xvideos.com/video17609395/japanese_pornostar_loves_sex_in_glamorous_highdefinition_porn 740 | https://www.xvideos.com/video45679687/_loli_427841183_ 741 | https://www.xvideos.com/video49255365/_16_~_ 742 | https://www.xvideos.com/video48015763/_ 743 | https://www.xvideos.com/video44825643/_ 744 | https://www.xvideos.com/video40989281/_ 745 | https://www.xvideos.com/video37131231/_-_46p_720p_ 746 | https://www.xvideos.com/video36311707/_ 747 | https://www.xvideos.com/video44709273/_ 748 | https://www.xvideos.com/video45267505/ashley_homemade_sex_videos 749 | https://www.xvideos.com/video40842877/_ 750 | https://www.xvideos.com/video48128627/pr_715147447 751 | https://www.xvideos.com/video48194371/_ 752 | https://www.xvideos.com/video49820339/_ 753 | https://www.xvideos.com/video49305483/_203696690_ 754 | https://www.xvideos.com/video44450977/_ 755 | https://www.xvideos.com/video48829065/_sm 756 | https://www.xvideos.com/video49022713/_3p 757 | https://www.xvideos.com/video46483789/_ 758 | https://www.xvideos.com/video47128135/japanese_girl_flat_chest_white_skin_playing_2_-_http_depkhoe.online_fullhd 759 | https://www.xvideos.com/video46258927/_~_~_-_2 760 | https://www.xvideos.com/video46062755/_1064400453_ 761 | https://www.xvideos.com/video30110173/whats_her_name_ 762 | https://www.xvideos.com/video20113297/japanese_hottie_having_sex_in_stupendous_highdef_porno 763 | https://www.xvideos.com/video29955813/xvideos.com_1925622c70322659be527393ffe86da6 764 | https://www.xvideos.com/video17609423/japanese_pornostar_loves_sex_in_graceful_hidef_porn 765 | https://www.xvideos.com/video49747649/18_yo_bangkok_slut_pounded_by_big_japan_cock 766 | https://www.xvideos.com/video48525391/_a 767 | https://www.xvideos.com/video48591167/_a 768 | https://www.xvideos.com/video40071921/asian_hot_41 769 | https://www.xvideos.com/video31983279/_1 770 | https://www.xvideos.com/video18544627/cute_schoolgirl_in_uniform 771 | https://www.xvideos.com/video33168679/_ 772 | https://www.xvideos.com/video39859099/do_you_want_to_get_fucked_by_a_beautiful_shemale_ 773 | https://www.xvideos.com/video27603471/instagram_boheshenai 774 | https://www.xvideos.com/video47451607/japanese_compilation_-_www.adultisporn.com 775 | https://www.xvideos.com/video48959125/_ 776 | https://www.xvideos.com/video49042443/_ 777 | https://www.xvideos.com/video47586017/_ 778 | https://www.xvideos.com/video48959123/_ 779 | https://www.xvideos.com/video48289318/_2_1_ 780 | https://www.xvideos.com/video48259318/_ 781 | https://www.xvideos.com/video48261686/_ 782 | https://www.xvideos.com/video48844003/_ 783 | https://www.xvideos.com/video47951183/_ 784 | https://www.xvideos.com/video48959987/_2_ 785 | https://www.xvideos.com/video48930271/_vdo_call 786 | https://www.xvideos.com/video49042419/_ 787 | https://www.xvideos.com/video49042551/_ 788 | https://www.xvideos.com/video49042503/_ 789 | https://www.xvideos.com/video35226889/amazing_body 790 | https://www.xvideos.com/video11591933/a_certain_famous_medical_college_4_year_swimming_club_freestyle_player_flower_s 791 | https://www.xvideos.com/video49690957/_ 792 | https://www.xvideos.com/video48197433/_ 793 | https://www.xvideos.com/video48845345/_ 794 | https://www.xvideos.com/video45465421/_ 795 | https://www.xvideos.com/video48292114/_ 796 | https://www.xvideos.com/video47752899/_ 797 | https://www.xvideos.com/video43672461/_ 798 | https://www.xvideos.com/video48584345/_ 799 | https://www.xvideos.com/video44728129/_ 800 | https://www.xvideos.com/video48236412/_ 801 | https://www.xvideos.com/video42328463/_-_hx410410#_tabDownload 802 | https://www.xvideos.com/video36287007/_01 803 | https://www.xvideos.com/video38799825/_ 804 | https://www.xvideos.com/video42152859/_ 805 | https://www.xvideos.com/video41613909/fucking_her_in_doggy_style_positon 806 | https://www.xvideos.com/video42050733/brother_fuck_sister_and_cum_many_time 807 | https://www.xvideos.com/video42184543/korean_ 808 | https://www.xvideos.com/video42003493/_ 809 | https://www.xvideos.com/video42173911/japanese_fucking_thrid_creampie 810 | https://www.xvideos.com/video42071587/_ 811 | https://www.xvideos.com/video41921649/~_~_1 812 | https://www.xvideos.com/video42180973/_ 813 | https://www.xvideos.com/video41958261/en_el_caso_que_tu_le_chupes_su_polla_y_quizas_lo_dejes_que_te_folle...-----_copie_y_cole_bit.ly_2klhtus 814 | https://www.xvideos.com/video41874713/_ 815 | https://www.xvideos.com/video42017723/brother_s_girl_korean_part_1_-_full_moive_at_http_bit.ly_2q9iqmo 816 | https://www.xvideos.com/video42066239/_ 817 | https://www.xvideos.com/video41946673/_ 818 | https://www.xvideos.com/video41946735/_ 819 | https://www.xvideos.com/video41747909/_-_ 820 | https://www.xvideos.com/video38742881/_-_ 821 | https://www.xvideos.com/video42029149/em_nguoi_yeu_han_quoc_va_thay_giao 822 | https://www.xvideos.com/video41779173/ut_aicee_ 823 | https://www.xvideos.com/video41885725/_ 824 | https://www.xvideos.com/video36495739/_-_uu575.com 825 | https://www.xvideos.com/video41719507/_ 826 | https://www.xvideos.com/video40666617/_~_http_hungya.cloudaccess.host_ 827 | https://www.xvideos.com/video40654599/19_http_hungya.cloudaccess.host_ 828 | https://www.xvideos.com/video40766225/_http_hungya.cloudaccess.host_ 829 | https://www.xvideos.com/video40408321/horny_chinese_girlfriend_fuckhard 830 | https://www.xvideos.com/video40410019/18yr_japanese_teen_blowjob_in_dressing_room 831 | https://www.xvideos.com/video40873119/_qq78725070_ 832 | https://www.xvideos.com/video40729911/_79206569 833 | https://www.xvideos.com/video41038079/_ 834 | https://www.xvideos.com/video41167279/_xxxthvip.com 835 | https://www.xvideos.com/video40457139/_xxxthvip.com 836 | https://www.xvideos.com/video43012089/fc2-650098-hd 837 | https://www.xvideos.com/video42935697/_-_._._hx410410 838 | --------------------------------------------------------------------------------