您好,登錄后才能下訂單哦!
這篇文章主要介紹python多線程如何秒爬貓眼電影,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
通過python3的多線程,獲取貓眼電影top100電影清單,并保存信息到本地,使用了requests庫和正則表達式
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Author: Aiker Zhao # @Date : 2019/4/2 2:52 AM # @File : pamaoyan.py # @Desc : import requests from requests.exceptions import RequestException import re import json from multiprocessing import Pool 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('<dd>.*?board-index.*?>(\d+)</i>.*?data-src="(.*?)".*?name"><a.*?>(.*?)</a>.*?star">(.*?)</p>' + '.*?releasetime">(.*?)</p.*?integer">(.*?)</i>.*?fraction">(.*?)</i>.*?</dd>', re.S) pattern1 = re.compile('board-index.*?>(\d+)</i>.*?data-src="(.*?)".*?name"><a.*?>(.*?)</a>.*?star">(.*?)</p>', re.S) items = re.findall(pattern, html) # print(items) for item in items: yield { 'index': item[0], 'score': item[5] + item[6], 'image': item[1], 'title': item[2], 'actor': item[3].strip()[3:], 'time': item[4][5:] } 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): url = 'https://maoyan.com/board/4?offset=' + str(offset) html = get_one_page(url) # print(html) for item in parse_one_page(html): print(item) write_to_file(item) if __name__ == '__main__': # for i in range(10): # main(i*10) pool = Pool() pool.map(main, [i * 10 for i in range(10)])
以上是“python多線程如何秒爬貓眼電影”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。