[Python]網路爬蟲(二):利用urllib2通過指定的URL抓取網頁內容

所謂網頁抓取,就是把URL地址中指定的網路資源從網路流中讀取出來,儲存到本地。 類似於使用程式類比IE瀏覽器的功能,把URL作為HTTP請求的內容發送到伺服器端, 然後讀取伺服器端的響應資源。在Python中,我們使用urllib2這個組件來抓取網頁。urllib2是Python的一個擷取URLs(Uniform Resource Locators)的組件。它以urlopen函數的形式提供了一個非常簡單的介面。最簡單的urllib2的應用代碼只需要四行。我們建立一個檔案urllib2_test0

[Python]網路爬蟲(五):urllib2的使用細節與抓站技巧

前面說到了urllib2的簡單入門,下面整理了一部分urllib2的使用細節。1.Proxy 的設定urllib2 預設會使用環境變數 http_proxy 來設定 HTTP Proxy。如果想在程式中明確控制 Proxy 而不受環境變數的影響,可以使用代理。建立test14來實現一個簡單的代理Demo:import urllib2enable_proxy = Trueproxy_handler = urllib2.ProxyHandler({"http" :

[Python]網路爬蟲(三):異常的處理和HTTP狀態代碼的分類

先來說一說HTTP的異常處理問題。當urlopen不能夠處理一個response時,產生urlError。不過通常的Python APIs異常如ValueError,TypeError等也會同時產生。HTTPError是urlError的子類,通常在特定HTTP

[Python]網路爬蟲(九):百度貼吧的網路爬蟲(v0.4)源碼及解析

百度貼吧的爬蟲製作和糗百的爬蟲製作原理基本相同,都是通過查看源碼扣出關鍵資料,然後將其儲存到本地txt檔案。項目內容:用Python寫的百度貼吧的網路爬蟲。使用方法:建立一個BugBaidu.py檔案,然後將代碼複製到裡面後,雙擊運行。程式功能:將貼吧中樓主發布的內容打包txt儲存到本地。原理解釋:首先,先瀏覽一下某一條貼吧,點擊只看樓主並點擊第二頁之後url發生了一點變化,變成了:http://tieba.baidu.com/p/2296712428?see_lz=1&pn=1可以看出

[Python]網路爬蟲(十):一個爬蟲的誕生全過程(以山東大學績點運算為例)

先來說一下我們學校的網站:http://jwxt.sdu.edu.cn:7777/zhxt_bks/zhxt_bks.html查詢成績需要登入,然後顯示各學科成績,但是只顯示成績而沒有績點,也就是加權平均分。顯然這樣手動計算績點是一件非常麻煩的事情。所以我們可以用python做一個爬蟲來解決這個問題。1.決戰前夜先來準備一下工具:HttpFox外掛程式。這是一款http協議分析外掛程式,分析頁面請求和響應的時間、內容、以及瀏覽器用到的COOKIE等。以我為例,安裝在Firefox上即可,效果可以

python 中不能空格和tab不能同時用

因為需要維護以前的同事寫的外掛程式, 偶爾需要寫寫幾句自己不懂的python代碼.以下是測試.python_expressiontab python_expression空格 python_expressionpython_expression提示 "Indent Error"python_expression空格 python_expressiontab python_expressionpython_expression提示 "Indent

webgoat 中 Blind String SQL Injection 的 Python 編程解決

這個 task 如果用手工嘗試的話, 還是比較麻煩的. 決定用編程解決.Python處理任務相關的問題比較方便, 花時間入門了下 python, 然後開始寫代碼, 很簡單的原理. 在這期間發現簡單的演算法都不熟了, 汗.以下是代碼#!/usr/bin/python#author: dengzhaoqun#date: 2013-03-08#email: dengzhaoqun@163.comimport urllibimport urllib2import sysurl=

python 在 win cmd 環境中形如 ‘\xhh’ 輸出的轉化

在 win cmd 中 python 產生 "\xb7\xa2\xc9\xfa\xd2\xe2\xcd\xe2\xa1\xa3" 錯誤輸出. 組合 encode, decode, "utf-8", "gb2312" 都沒解決. 在 Googlegroups 中找到如下一種轉換方法:#!/usr/bin/env python#coding=utf-8import sysdef conv(i): if len(i) == 2: return chr(int(i, 16))

Python多線程檢查網域名稱是否存在

個人想查看下哪些短的網域名稱還沒有被用來提供網路服務, 自己可從中選擇一些有趣的使用. 首先使用字典產生演算法, 產生一個關鍵字列表檔案. 如下#!/usr/bin/env python#coding=utf-8"""filename: make_key.pyauthor: zz_ddate: 2013-05-25"""import sysimport getoptlen_ch_range = 0def mk_key(plen, cnt, pstr): if cnt < plen:

Python裡的string 和 unicode (三)

最後說說關於codecs。所謂的codec就是編碼器和解碼器(encoder and decoder)的集合。除了各種字串編碼的codec,還有各種檔案格式的codec,比如壓縮、解壓縮的,映像的,音訊,等等。我們這裡說的當然是跟字串編碼相關的了。看看代碼>>> import codecs>>> gbk=codecs.lookup('gbk')>>> gbk<codecs.CodecInfo object for encoding

一個檢查文本編碼類別型的Python庫

Universal Encoding

Python(PyS60)做的簡單語音整點報時的實現

主要的技術特殊點在於PyS60的定時器最多隻能定2147秒。在手機上直接寫的。import e32import audioimport timeimport appuifwimport sysimport os.pathimport marshaldef say(oclock): """say the time in English""" c = oclock if c > 12: c -= 12 cs = ['zero', 'one', 'two',

Python wrapper module for the Spread

最近在試用Spread,發現網上找到的Python Client API是1.5版本的,可以在這裡下載:http://www.zope.org/Members/tim_one/spread/SpreadModule-1.5不過這個版本對最新的Spread 4.0支援有點問題,需要處理一下http://commedia.cnds.jhu.edu/pipermail/spread-users/2006-December/003168.html下面是我自己在Windows XP SP2和Python

使用python製作簡單的日誌以及日誌分析工具

    最近,我需要將多客戶模擬器在運行中產生的一些資料記錄下來,同時使用適當的方法(例形化,還有。。。?)對其進行分析。 1. 日誌的記錄    python有一個logging模組,可以用來產生日誌。    (1)學習資料       http://blog.sina.com.cn/s/blog_4b5039210100f1wv.html       http://blog.donews.com/limodou/archive/2005/02/16/278699.aspx      

Python打包過程中遇到的問題

一. 打包步驟: 使用py2exe打包過程:1. 先安裝py2exe-0.6.9.win32-py2.7.exe。 因為我的python版本是python 2.72. python BaseLib\Player\Build\Win32\setuptriblerplay.py install3. python BaseLib\Player\Build\Win32\setuptriblerplay.py py2exe執行py2exe過程中遇到找不到msvcp90.dll的問題,

python 的time模板翻譯及說明

python 的內嵌time模板翻譯及說明一、簡介time模組提供各種操作時間的函數說明:一般有兩種表示時間的方式:第一種是時間戳記的方式(相對於1970.1.1 00:00:00以秒計算的位移量),時間戳記是惟一的第二種以數組的形式表示即(struct_time),共有九個元素,分別表示,同一個時間戳記的struct_time會因為時區不同而不同year (four digits, e.g. 1998)month (1-12)day (1-31)hours (0-23)minutes (0-5

python 字串使用總結

1.python 字串通常有單引號(’…’)、雙引號(”…”)、三引號(”"”…”"”)或(”’…”’)包圍,三引 號包含的字串可由多行組成,一般可表示大段的敘述性字串。在使用時基本沒有差別,但雙引號和三引號(”"”…”"”)中可以包含單引號,三引號 (”’…”’)可以包含雙引號,而不需要轉義。 2.用(/)對特殊字元轉義,如(/)、(’)、(”)。 3.常用字串函數(1) str.count() //返回該字串中某個子串出現的次數(2) str.find()  

以Python Imaging Library 進行影像資料處理PIL

 1   影像與圖形資料的處理 討論圖形(影像) 本身的處理,而討論的內容將會集中在Python Imaging Library (PIL) 這一套程式庫上。PIL 是Python 下最有名的影像處理套件,由許多不同的模組所組成,並且提供了許多的處理功能,允許我們在簡單的Python 程式裡進行影像的處理。 使用像PIL 許樣的程式庫套件可以協助我們把精力集中在影像處理的工作本身,避免迷失在底層的演算法裡面。由於影像處理牽涉到了大量的數學運算,因此PIL 中有許多的模組是用C

PythonRegex的常用匹配用法

下面列出PythonRegex的幾種匹配用法:1.測試Regex是否匹配字串的全部或部分regex=ur"" #Regexif re.search(regex, subject):    do_something()else:    do_anotherthing()2.測試Regex是否匹配整個字串regex=ur"/Z" #Regex末尾以/Z結束if re.match(regex, subject):    do_something()else:    do_anotherthing()3

Django+python+BeautifulSoup組合的垂直搜尋爬蟲

使用python+BeautifulSoup完成爬蟲抓取特定資料的工作,並使用Django搭建一個管理平台,用來協調抓取工作。因為自己很喜歡Django

總頁數: 2974 1 .... 295 296 297 298 299 .... 2974 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.