国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

如何使用Python制作網(wǎng)絡(luò)爬蟲

binaryTree / 1835人閱讀

摘要:在近幾年迅速咋程序界掀起了不小的波瀾,而關(guān)于的第三庫也使廣大程序員趨之若鶩,今天我們就由淺入深的探討一下如何使用做一個(gè)網(wǎng)絡(luò)爬蟲來抓取一些頁面信息。

Python在近幾年迅速咋程序界掀起了不小的波瀾,而關(guān)于python的第三庫也使廣大程序員趨之若鶩,今天我們就由淺入深的探討一下如何使用python做一個(gè)“網(wǎng)絡(luò)爬蟲”來抓取一些頁面信息。今天我們使用的庫(包含python自身攜帶的庫和第三庫)

Python簡(jiǎn)介

Python(英國發(fā)音:/?pa?θ?n/ 美國發(fā)音:/?pa?θɑ?n/), 是一種面向?qū)ο蟮慕忉屝陀?jì)算機(jī)程序設(shè)計(jì)語言,由荷蘭人Guido van Rossum于1989年發(fā)明,第一個(gè)公開發(fā)行版發(fā)行于1991年。

Python是純粹的自由軟件, 源代碼和解釋器CPython遵循 GPL(GNU General Public License)協(xié)議[2] 。Python語法簡(jiǎn)潔清晰,特色之一是強(qiáng)制用空白符(white space)作為語句縮進(jìn)。

Python具有豐富和強(qiáng)大的庫。它常被昵稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結(jié)在一起。常見的一種應(yīng)用情形是,使用Python快速生成程序的原型(有時(shí)甚至是程序的最終界面),然后對(duì)其中[3] 有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而后封裝為Python可以調(diào)用的擴(kuò)展類庫。需要注意的是在您使用擴(kuò)展類庫時(shí)可能需要考慮平臺(tái)問題,某些可能不提供跨平臺(tái)的實(shí)現(xiàn)。

網(wǎng)絡(luò)爬蟲

網(wǎng)絡(luò)爬蟲(又被稱為網(wǎng)頁蜘蛛,網(wǎng)絡(luò)機(jī)器人,在FOAF社區(qū)中間,更經(jīng)常的稱為網(wǎng)頁追逐者),是一種按照一定的規(guī)則,自動(dòng)地抓取萬維網(wǎng)信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動(dòng)索引、模擬程序或者蠕蟲。

例子中設(shè)計(jì)的庫

URLLIB

 Python 3 的 urllib 模塊是一堆可以處理 URL 的組件集合。如果你有 Python 2 的知識(shí),那么你就會(huì)注意到 Python 2 中有 urllib 和 urllib2 兩個(gè)版本的模塊。這些現(xiàn)在都是 Python 3 的 urllib 包的一部分。當(dāng)前版本的 urllib 包括下面幾部分:urllib.request  urllib.error  urllib.parse urllib.rebotparser。
  

BeautifulSoup
Beautiful Soup提供一些簡(jiǎn)單的、python式的函數(shù)用來處理導(dǎo)航、搜索、修改分析樹等功能。它是一個(gè)工具箱,通過解析文檔為用戶提供需要抓取的數(shù)據(jù),因?yàn)楹?jiǎn)單,所以不需要多少代碼就可以寫出一個(gè)完整的應(yīng)用程序。

Beautiful Soup自動(dòng)將輸入文檔轉(zhuǎn)換為Unicode編碼,輸出文檔轉(zhuǎn)換為utf-8編碼。你不需要考慮編碼方式,除非文檔沒有指定一個(gè)編碼方式,這時(shí),Beautiful Soup就不能自動(dòng)識(shí)別編碼方式了。然后,你僅僅需要說明一下原始編碼方式就可以了。Beautiful Soup已成為和lxml、html6lib一樣出色的python解釋器,為用戶靈活地提供不同的解析策略或強(qiáng)勁的速度。

如何使用Urllib
   #-*- coding: utf-8 -*-
    #導(dǎo)入urllib庫中的request
    from urllib import  request  
    #使用request的Request方法,括號(hào)中的參數(shù)為你想爬取的網(wǎng)址地址            
    req = request.Request("http://www.baidu.com")  
    #使用req的add_header方法向其中添加一些參數(shù)以使得你的爬蟲看起來像一個(gè)普通的HTTP訪問,這個(gè)你可以使用瀏覽器的開發(fā)者工具中查到,例如在谷歌瀏覽器中,打開你想爬取的網(wǎng)頁,按F12,截圖如下:
    ![圖片描述][1]
    req.add_header("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36")
    
    #獲取所需爬取網(wǎng)站的信息
    resp = request.urlopen(req)
    #打印該信息
    print(resp.read().decode("utf-8"))
使用Urllib和BeautifulSoup爬取維基網(wǎng)站首頁的鏈接信息

安裝Beautifulsoup
在此我提供使用pip命令行來安裝 ,pip install BeautifulSoup.或者可以參考一下博客也可,博客連接:

[鏈接描述][1][1]: http://blog.csdn.net/jenyzhang/article/details/45828481
 

具體實(shí)現(xiàn)(非常簡(jiǎn)單)

#-- coding: utf-8 -#
#引入開發(fā)包
from urllib.request import Request
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
#請(qǐng)求URL,并把URL用UTF-8編碼
resp = urlopen("https://en.wikipedia.org/wiki/Main_Page").read().decode("utf-8")
#使用BeautifulSoup去解析
soup = BeautifulSoup(resp,"html.parser")
#去獲取所有以/wiki/開頭的a標(biāo)簽的href屬性
listUrls = soup.findAll("a",href=re.compile("^/wiki/"))
for url in listUrls:

   #使用正則表達(dá)式來篩選出后綴名為.jpg或者.JPG的連接
   if not re.search(".(jpg|JPG)$",url["href"]):
   #打印所爬取的信息
     print(url.get_text(),"<---->","https://en.wikipedia.org",url["href"])
 
 

最后附上項(xiàng)目的源碼地址,當(dāng)然其中還有一些關(guān)于urllib和beautifusoup 以及如何將信息存儲(chǔ)在mysql的聯(lián)系,大家有興趣的可以看一下。
鏈接:http://pan.baidu.com/s/1pLiePCn 密碼:mh4t

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/44484.html

相關(guān)文章

  • 如何使用Python制作網(wǎng)絡(luò)爬蟲

    摘要:在近幾年迅速咋程序界掀起了不小的波瀾,而關(guān)于的第三庫也使廣大程序員趨之若鶩,今天我們就由淺入深的探討一下如何使用做一個(gè)網(wǎng)絡(luò)爬蟲來抓取一些頁面信息。 Python在近幾年迅速咋程序界掀起了不小的波瀾,而關(guān)于python的第三庫也使廣大程序員趨之若鶩,今天我們就由淺入深的探討一下如何使用python做一個(gè)網(wǎng)絡(luò)爬蟲來抓取一些頁面信息。今天我們使用的庫(包含python自身攜帶的庫和第三庫) ...

    時(shí)飛 評(píng)論0 收藏0
  • 首次公開,整理12年積累的博客收藏夾,零距離展示《收藏夾吃灰》系列博客

    摘要:時(shí)間永遠(yuǎn)都過得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...

    Harriet666 評(píng)論0 收藏0
  • 快速制作規(guī)則及獲取規(guī)則提取器API

    摘要:也就是用可視化的集搜客爬蟲軟件針對(duì)亞馬遜圖書商品頁做一個(gè)采集規(guī)則,并結(jié)合規(guī)則提取器抓取網(wǎng)頁內(nèi)容。安裝集搜客爬蟲軟件前期準(zhǔn)備進(jìn)入集搜客官網(wǎng)產(chǎn)品頁面,下載對(duì)應(yīng)版本。 showImg(https://segmentfault.com/img/bVEFvL?w=300&h=300); 1. 引言 前面文章的測(cè)試案例都用到了集搜客Gooseeker提供的規(guī)則提取器,在網(wǎng)頁抓取工作中,調(diào)試正則表達(dá)...

    itvincent 評(píng)論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.30 - 學(xué)習(xí) Python 來做一些神奇好玩的事情吧

    摘要:學(xué)習(xí)筆記七數(shù)學(xué)形態(tài)學(xué)關(guān)注的是圖像中的形狀,它提供了一些方法用于檢測(cè)形狀和改變形狀。學(xué)習(xí)筆記十一尺度不變特征變換,簡(jiǎn)稱是圖像局部特征提取的現(xiàn)代方法基于區(qū)域圖像塊的分析。本文的目的是簡(jiǎn)明扼要地說明的編碼機(jī)制,并給出一些建議。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 開始之前,我們先來看這樣一個(gè)提問: pyth...

    lifesimple 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<