Example #1
0
    def __init__(self):
        self._ordered_id = 0
        self._curdir = os.getcwd()
        self._homedir = os.getenv('HOME', '.')
        self._custom = {}
        self._config = {}
        self._account = {}
        self._session = Session()
        self._logged = False
        self._login_data = {}
        self._task_pool = {}
        self._meta_infos = []

        self.load_config()
        self._session.headers = {
            'Accept': '*/*',
            'Connection': 'Keep-Alive',
            'User-Agent': self._custom.get('user_agent'),
        }

        cookies_path = expanduser(self._custom.get('cookies_path', '.'))
        self._session.cookies = cookielib.LWPCookieJar(cookies_path)

        if os.path.exists(cookies_path):
            self._msg('Loading cookies.')
            self._session.cookies.load()
Example #2
0
    def __save_cookie(self, username):
        """
        存储cookies, username用于文件命名
        Parameters
        ----------
        username: str
            用户账号

        Returns
        -------
            None
        """
        #实例化一个LWPcookiejar对象
        new_cookie_jar = cookielib.LWPCookieJar(username + '.txt')

        #将转换成字典格式的RequestsCookieJar(这里我用字典推导手动转的)保存到LWPcookiejar中
        requests.utils.cookiejar_from_dict(
            {c.name: c.value
             for c in self.s.cookies}, new_cookie_jar)

        #保存到本地文件
        new_cookie_jar.save(
            'cookies/' + username + '.txt',
            ignore_discard=True,
            ignore_expires=True)
Example #3
0
 def __read_cookie(self, username):
     """
     读取cookie
     :param username:
     :return:
     """
     load_cookiejar = cookielib.LWPCookieJar()
     try:
         load_cookiejar.load('cookies/' + username + '.txt',
                             ignore_discard=True)
         load_cookies = requests.utils.dict_from_cookiejar(load_cookiejar)
         self.s.cookies = requests.utils.cookiejar_from_dict(load_cookies)
         return True
     except Exception as e:
         return False
Example #4
0
    def __save_cookie(self, username):
        """
        save cookies
        :param username:
        :return:
        """
        new_cookie_jar = cookielib.LWPCookieJar()

        # 将转化成字典格式的cookie保存到LWPcookiejar中
        requests.utils.cookiejar_from_dict(
            {c.name: c.value
             for c in self.s.cookies}, new_cookie_jar)

        new_cookie_jar.save('cookies/' + username + '.txt',
                            ignore_discard=True,
                            ignore_expires=True)
Example #5
0
    def __read_cookie(self, username):
        """
        读取cookies, username用于文件命名

        Parameters
        ----------
        username: str
            用户账号
        """
        # 实例化一个LWPCookieJar对象
        load_cookiejar = cookielib.LWPCookieJar()
        # 从文件中加载cookies(LWP格式)
        load_cookiejar.load("cookies/" + username + ".txt",
                            ignore_discard=True,
                            ignore_expires=True)
        # 工具方法转换成字典
        load_cookies = requests.utils.dict_from_cookiejar(load_cookiejar)
        # 工具方法将字典转换成RequestsCookieJar,赋值给session的cookies.
        self.s.cookies = requests.utils.cookiejar_from_dict(load_cookies)
Example #6
0
    def __init__(self, username=None, password=None):
        self.username = username
        self.password = password

        self.login_data = {
            'client_id': 'c3cef7c66a1843f8b3a9e6a1e3160e20',
            'grant_type': 'password',
            'source': 'com.zhihu.web',
            'username': '',
            'password': '',
            'lang': 'en',
            'ref_source': 'homepage',
            'utm_source': '',
        }

        self.session = requests.session()
        self.session.headers = {
            'User-Agent':
            'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) '
            'AppleWebKit/605.1.15 (KHTML, like Gecko) '
            'Version/12.0.3 Safari/605.1.15'
        }
        self.session.cookies = cookielib.LWPCookieJar(filename='./cookies.txt')