最近无聊想刷几部电影,可是去下载的时候发现网页浏览太麻烦了,要一个一个点开看。其实大多数时候我们看一眼名字和主演就可知道要不要看了。索性写了一个爬虫,爬了200多部电影和下载地址,话不多说上源码和爬取结果。
SRC:
import requests
from requests.exceptions import RequestException
import re
import json
def get_one_page(url):
try:
response = requests.get(url)
if response.status_code == 200:
return response.text
return None
except RequestException:
return None
def parse_one_page(html):
pattern = re.compile('<li.*?<a href="(.*?)".*?rel="bookmark" title="(.*?)".*?</a>.*?</li>', re.S)
items = re.findall(pattern, html)
# print(items)
for item in items:
yield {
'title': item[1],
'download': item[0]
}
def write_to_file(content):
with open('result.txt', 'a', encoding='UTF-8') as f:
f.write(json.dumps(content, ensure_ascii=False) + '\n')
f.close
def main(offset):
if offset == 1:
url = "http://gaoqing.la/1080p"
else:
url = "http://gaoqing.la/1080p" + '/page/' + str(offset)
html = get_one_page(url)
for item in parse_one_page(html):
print(item)
write_to_file(item)
if __name__ == "__main__":
for i in range(1, 17):
main(i)
我只是爬取了有下载地址的网页,当然,如果你愿意可以进一步完善该代码:思路是进一步爬取电影下载地址,直接全部下载下来。不过由于,我并不想下载所有电影,最主要的是我的硬盘没那么大!所以,暂时做到这里,需要哪一部去下载就好了。
想一起学习python,交流提升的可以加QQ群!