diff --git a/爬虫 b/爬虫 new file mode 100644 index 0000000..c12258f --- /dev/null +++ b/爬虫 @@ -0,0 +1,41 @@ +import re +import requests +from bs4 import BeautifulSoup as bs +import json + +header = {'User-Agent': 'Mozilla/5.0'} +url = 'https://exam.detr.top/exam-b/movies' + +html = requests.get(url, headers=header).text + +open('movies.html', 'w', encoding='utf-8').write(html) +print(html) +print('----------------') + +fd = re.search(r'exam_fingerprint:\s*(\S+)', html).group(1) +print(fd) + +resp = bs(html, 'html.parser').find_all('tr', class_='item-row') +movies = [] + +for i in resp: + c = [] + for r in i.find_all('td'): + c.append(r.text.strip()) + movies.append({ + 'id': int(c[0]), + 'title': c[1], + 'director': c[2], + 'year': int(c[3]), + 'rating': float(c[4]), + 'duration': int(c[5]), + 'genre': c[6], + 'actors_count': int(c[7]) + }) + +json.dump( + {'ID': fd, 'movies': movies}, + open('movies.json', 'w', encoding='utf-8'), + ensure_ascii=False, + indent=2 +) \ No newline at end of file