> 백엔드 개발 > 파이썬 튜토리얼 > Python은 언제 사전을 사용합니까?

Python은 언제 사전을 사용합니까?

(*-*)浩
풀어 주다: 2019-07-09 10:18:19
원래의
3514명이 탐색했습니다.

Dictionary(사전)는 Python에서 키(key) 값(value) 쌍의 집합으로 구성되는 가변형 컨테이너 모델입니다. 이 구조 유형은 일반적으로 맵 또는 연관 배열이라고도 합니다. 해시 테이블. 각 키-값은 ":"으로 구분되고, 각 그룹은 ","로 구분되며, 전체 사전은 "{}"으로 묶입니다.

Python은 언제 사전을 사용합니까?

키-값 쌍이 사용되는 곳에서는 사전을 사용할 수 있습니다. 크롤러의 헤더에 사전을 사용할 수 있습니다(권장 학습: Python 비디오 튜토리얼)

# coding:utf-8

import requests
from bs4 import BeautifulSoup


class SpiderProxy(object):
    #Python版本为2.7以上
    headers = {
        "Host": "www.xicidaili.com",
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
        "Accept-Language": "en-US,en;q=0.5",
        "Accept-Encoding": "gzip, deflate",
        "Referer": "http://www.xicidaili.com/wt/1",
    }

    def __init__(self, session_url):
        self.req = requests.session()
        self.req.get(session_url)

    def get_pagesource(self, url):
        html = self.req.get(url, headers=self.headers)
        return html.content

    def get_all_proxy(self, url, n):
        data = []
        for i in range(1, n):
            html = self.get_pagesource(url + str(i))
            soup = BeautifulSoup(html, "lxml")

            table = soup.find('table', id="ip_list")
            for row in table.findAll("tr"):
                cells = row.findAll("td")
                tmp = []
                for item in cells:

                    tmp.append(item.find(text=True))
                data.append(tmp[1:3])
        return data

session_url = 'http://www.xicidaili.com/wt/1'
url = 'http://www.xicidaili.com/wt/'
p = SpiderProxy(session_url)
proxy_ip = p.get_all_proxy(url, 10)
for item in proxy_ip:
    if item:
        print item
로그인 후 복사

더 많은 Python 관련 기술 기사를 보려면 Python 튜토리얼 컬럼을 방문하여 알아보세요!

위 내용은 Python은 언제 사전을 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿