這篇博客做一個爬蟲的實例今天剛看到一個新聞,在7月26日上映的《哪吒之魔童降世》,密鑰第二次延期至10月26日。截止至9月17日,《哪吒之魔童降世》票房已超49億票房,在豆瓣上對該電影的評價有好有壞。說實話,博主看了這個電影真的覺得蠻不錯的,因此把短評中的差評爬取下來,看下差評包括哪些方面。目錄一、BeautifulSoup二、xpath三、正則表達式一、BeautifulSoup首先需要了解下差評文字內容在哪些標簽下:進入豆瓣該電影短評界面,檢查元素:可
系統 2019-09-27 17:53:05 1621
知識匯總:1-Python語言里一切數據都是對象2-整數:1-python2:int----long(長整數)2-python3:中只有int沒有long3-怎么查看類型---type(100)--有返回值--該類型---3-浮點數--小數:type(3.0)------沒有double4-數字的運算:1-加法+2-減法-3-乘法*4-除法/1-在python39/4==2.25肯定帶小數點等價python2-9//4==22-在python29/4==2
系統 2019-09-27 17:52:42 1621
概述如今我也是使用Python寫代碼好多年了,但是我卻很少關心GIL的內部機制,導致在寫Python多線程程序的時候。今天我們就來看看CPython的源代碼,探索一下GIL的源碼,了解為什么Python里要存在這個GIL,過程中我會給出一些示例來幫助大家更好的理解GIL。GIL概覽有如下代碼:staticPyThread_type_lockinterpreter_lock=0;/*ThisistheGIL*/這行代碼位于Python2.7源碼ceval.c
系統 2019-09-27 17:52:39 1621
作者:HelloGitHub-ProdesireHelloGitHub的《講解開源項目》系列,項目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介紹argparse的文章中,我們全面了解了argparse的能力,相信不少小伙伴們都已經摩拳擦掌,想要打造一個屬于自己的命令行工具。本文將以我們日常工作中最常見的git命令為例,講解如何使用argparse庫來實現一個真正可用的命令行程序。本系列文章默認
系統 2019-09-27 17:52:36 1621
Python命令行之旅:使用argparse實現git命令作者:HelloGitHub-ProdesireHelloGitHub的《講解開源項目》系列,項目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介紹argparse的文章中,我們全面了解了argparse的能力,相信不少小伙伴們都已經摩拳擦掌,想要打造一個屬于自己的命令行工具。本文將以我們日常工作中最常見的git命令為例,講解如何使用arg
系統 2019-09-27 17:52:36 1621
在上一篇文章中,我們講了如何在linux上用python寫一個守護進程。主要原理是利用linux的fork函數來創建一個進程,然后退出父進程運行,生成的子進程就會成為一個守護進程。細心觀察的可能會發現,這個守護進程的運行身份是執行這個程序的用戶,如果把這個守護程序加入到系統的服務項,那么這個守護程序的執行身份應該是root。一個情況出現了,root的權限比較大,如果通過這個root身份的守護程序來進行操作,危險性是比較大的。一種好的辦法是生成一個身份為ro
系統 2019-09-27 17:52:32 1621
由于工作的需求,需要用python做一個類似網絡爬蟲的采集器。雖然Python的urllib模塊提供更加方便簡潔操作,但是涉及到一些底層的需求,如手動設定User-Agent,Referer等,所以選擇了直接用socket進行設計。當然,這樣的話,需要對HTTP協議比較熟悉,HTTP協議這里就不做講解了。整個python的代碼如下:#!/usr/binenvpythonimportsockethost="www.baidu.com"se=socket.so
系統 2019-09-27 17:52:30 1621
建造者模式,也是一種創建新對象的設計方法,和C++中的虛函數很類似,但是用到了python自身的虛基類ABCMeta。1.應用場景:某個類中的函數較多,且實現比較復雜,很多時候需要繼承的子類重載或者重新定義邏輯;2.背景基礎:由于用到python中虛函數,需要了解abc模塊中的ABCMeta和python中類創建對象時的__metaclass__屬性含義。一般地,在某個類中如果定義__metaclass__=something時,簡單地說是,創建對象時,會
系統 2019-09-27 17:52:26 1621
前序Thereshouldbeone-andpreferablyonlyone-obviouswaytodoit.――――theZenofPython意譯:Python提倡用一種,而且最好是只有一種方法來完成一件事雖然Python有以上的提倡,但卻在字符串格式化方面,沒有做到這一點。字符串格式化敲黑板,劃重點:在Python中有至少三種常見方式實現字符串格式化:%-formatting格式(Python2.6以前,推薦輸出時使用)str.format()格
系統 2019-09-27 17:52:21 1621
看python社區大媽組織的內容里邊有一篇講python內存優化的,用到了__slots__。然后查了一下,總結一下。感覺非常有用python類在進行實例化的時候,會有一個__dict__屬性,里邊有可用的實例屬性名和值。聲明__slots__后,實例就只會含有__slots__里有的屬性名。#coding:utf-8classA(object):x=1def__init__(self):self.y=2a=A()printa.__dict__print(
系統 2019-09-27 17:52:11 1621