requests 고양이 눈 찾기 영화

1672 단어
코드에 직접 올리고 코드에 상세한 주석이 있습니다.
import json import requests from requests.exceptions import RequestException import re import time

페이지마다 내용 가져오기


def get_one_page(url):
#      ,try....except   
try:
    headers = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36'
    }
    response = requests.get(url, headers=headers)
    if response.status_code == 200:
        return response.text
    return None
except RequestException:
    return None

정규로 원하는 내용을 일치시키다


def parse_one_페이지(html): # 정규 사전 생성용compile 방법pattern =re.compile('.?board-index.?>(\d+).?data-src="(.?)".?name"> + '. ?>(.?).?star">(.?).?releasetime">(.?)' + '.?integer">(.?).?fraction">(.?).?', re.S) items = re.findall(pattern, html) for item in items: # 생성기로 yield {'index': item[0],'image': item[1],'title': item[2],'actor': item[3].strip()[3:],'time': item[4].strip()[5:],'score': item[5]+item[6]}

txt에 쓰기


def write_to_file(content): with open('result.txt', 'a', encoding='utf-8') as f: f.write(json.dumps(content, ensure_ascii=False) + '')
def main(offset): url = 'http://maoyan.com/board/4?offset=' + 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(10):main(offset=i * 10)# 시간을 설정하여 반등타임을 방지합니다.sleep(1)

좋은 웹페이지 즐겨찾기