-
Notifications
You must be signed in to change notification settings - Fork 2
/
Sukebel.py
65 lines (54 loc) · 1.72 KB
/
Sukebel.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
from fake_useragent import UserAgent
import requests
import os
from parsel import Selector
from time import sleep
if not os.path.exists('./toreent/'):
os.mkdir('./toreent')
def get_url(url):
headers = {
"User-Agent":UserAgent().random
}
proxy = '127.0.0.1:10809'
proxies = {
'http':'http://' + proxy,
'https':'https://' + proxy
}
sleep(1) # 休眠1s
response = requests.get(url,headers=headers,proxies=proxies)
if response.status_code == 200:
return response
else:
return None
def get_html(html):
selector = Selector(html)
base_url = []
img_all = selector.xpath('//div[@class="table-responsive"]//td[2]//a/@href').getall()
for img in img_all:
base_url.append('https://sukebei.nyaa.si' + img)
return base_url
def parse_data(data):
selector = Selector(data)
title = selector.xpath('//h3[@class="panel-title"]/text()').get().split()
title = ''.join(title)
torrent = selector.xpath('//div[@class="panel-footer clearfix"]/a[1]/@href').get()
torrent_url = 'https://sukebei.nyaa.si' + torrent
return torrent_url,title
def save_date(content,title):
torrent_content = get_url(content)
with open('./toreent/' + title + '.torrent', 'wb') as f:
f.write(torrent_content.content)
print('save successful ')
pass
def main():
for page in range(1,11):
url = f'https://sukebei.nyaa.si/?tdsourcetag=s_pctim_aiomsg&p={page}'
html = get_url(url)
base_url = get_html(html.text)
for img_url in base_url:
data = get_url(img_url)
content,title = parse_data(data.text)
save_date(content,title)
if __name__ == "__main__":
main()
# prefection