Python 실전 계획 - 둘째 주 2 절: 대규모 데 이 터 를 얻 는 워 크 플 로 분석

1907 단어
분석 작업 절 차 는 다 중 스 레 드 오 르 기 를 할 때 각 부분의 협동 이 더욱 좋 고 효율 이 높다.예 를 들 어 꿀 을 따 려 면 꽃 가루 를 찾 아야 한다. 꽃 가루 를 따 려 면 날 아가 서 꽃 가루 를 제거 해 야 한다. 일벌 한 마리 (파충류 가 전체 과정 을 수행 하도록 설계 했다) 가 꿀 을 채취 하 는 것 을 책임 진다. 두 개의 스 레 드 를 열 면 두 개의 일벌 이 꿀 을 채취 하 러 간다. 다른 하 나 는 꿀 을 전문 적 으로 채취 하 는 일벌 (파충류 1: 정 보 를 기어 올 라 하나의 데이터 구조 에 저장 하 는 것) 을 제외 하고 전문 적 으로 운송 하 는 일벌 도 있다.(파충류 2: 처리 정 보 를 저장 하고 데이터 구조 에서 정 보 를 얻 으 며 데이터 베 이 스 를 저장 합 니 다)두 개의 스 레 드 를 열 때 는 4 개의 벌 이 있 습 니 다. 동시에 운송 이 느 리 면 협동 에 영향 을 주지 않 고 효율 에 도 영향 을 주지 않 습 니 다. 페이지 특징 디자인 작업 절 차 를 관찰 하면 프로그램 운행 을 자동화 하기 위해 각 부분 함수 간 의 함수 협력 과 각 함수 의 순 조로 운 운행 은 프로그램 자동화 의 운행 을 보장 합 니 다. 각 함수 가 처리 해 야 할 문 제 를 세분 화하 고 논리성 이 강 합 니 다.
import pymongo
    import requests
    from bs4 import BeautifulSoup
    import time
    
    client = pymongo.MongoClient('localhost', 27017)
    shoujihao = client['shoujihao_list']
    infomation = shoujihao['shoujihao_info']
    
    # url = 'http://bj.58.com/shoujihao/pn1'
      
    def sj_title_link(pages):
        for page in in range(1,pages+1):
            url = 'http://bj.58.com/shoujihao/pn{}'.format(host, page)
            wb_data = requests.get(url)
            time.sleep(1)
            soup = BeautifulSoup(wb_data.text, 'lxml')
            titles = soup.select('a.t > strong.number')
            links = soup.select('a.t')
            # prices = soup.select('b.price')
            for title, link in zip(titles, links):
                if link.get('href').rfind("http://bj.58") != -1:
                    data = {
                        'title': title.get_text(),
                        'link': link.get('href'),
                        # 'price':price.get_text()
                    }
                    infomation.insert_one(data)
                else:
                    pass

좋은 웹페이지 즐겨찾기