python網路爬蟲一

2021-08-20 11:45:41 字數 3953 閱讀 1072

正規表示式詳細介紹

import urllib2

import random

#瀏覽器資訊

"mozilla/5.0 (windows; u; windows nt 6.1; en-gb; rv:1.9.1.17) gecko/20110123 (like firefox/3.x) seamonkey/2.0.12",

"mozilla/5.0 (windows nt 5.2; rv:10.0.1) gecko/20100101 firefox/10.0.1 seamonkey/2.7.1",

"mozilla/5.0 (macintosh; u; mac os x mach-o; en-us; rv:2.0a) gecko/20040614 firefox/3.0.0 ",

"mozilla/5.0 (macintosh; u; ppc mac os x 10.5; en-us; rv:1.9.0.3) gecko/2008092414 firefox/3.0.3",

"mozilla/5.0 (macintosh; u; intel mac os x 10.5; en-us; rv:1.9.1) gecko/20090624 firefox/3.5",

"mozilla/5.0 (macintosh; u; intel mac os x 10.6; en-us; rv:1.9.2.14) gecko/20110218 alexa*******/alxf-2.0 firefox/3.6.14",

"mozilla/5.0 (macintosh; u; ppc mac os x 10.5; en-us; rv:1.9.2.15) gecko/20110303 firefox/3.6.15",

"mozilla/5.0 (macintosh; intel mac os x 10.6; rv:2.0.1) gecko/20100101 firefox/4.0.1"]

#**ip

proxies = ['116.213.98.6:8080','122.114.31.177:808','121.31.195.145:8123','125.118.147.0:808']

#設定請求物件

req = urllib2.request('')

# 設定請求頭部資訊

req.add_header('user-agent',random.choice(user_agents))

# 設定**ip位址

proxy_support = urllib2.proxyhandler()

opener = urllib2.build_opener(proxy_support)

urllib2.install_opener(opener)

# 2.獲取訪問**後,**返回的物件

res = urllib2.urlopen(req)

# 3.處理瀏覽器返回的物件

# 3.1如讀取

print(res.read())

#檢視dir,列印url位址,訪問資訊msg,狀態碼code

# print(dir(res))

# print(res.url) #

# print(res.msg) #ok

# print(res.code) #200

#設定乙個函式,只用來獲取網頁內容

import urllib2

import random

import json

import re

count = 0

defgethtml

(url):

user_agents = [

"mozilla/5.0 (windows; u; windows nt 6.1; en-gb; rv:1.9.1.17) gecko/20110123 (like firefox/3.x) seamonkey/2.0.12",

"mozilla/5.0 (windows nt 5.2; rv:10.0.1) gecko/20100101 firefox/10.0.1 seamonkey/2.7.1",

"mozilla/5.0 (macintosh; u; mac os x mach-o; en-us; rv:2.0a) gecko/20040614 firefox/3.0.0 ",

"mozilla/5.0 (macintosh; u; ppc mac os x 10.5; en-us; rv:1.9.0.3) gecko/2008092414 firefox/3.0.3",

"mozilla/5.0 (macintosh; u; intel mac os x 10.5; en-us; rv:1.9.1) gecko/20090624 firefox/3.5",

"mozilla/5.0 (macintosh; u; intel mac os x 10.6; en-us; rv:1.9.2.14) gecko/20110218 alexa*******/alxf-2.0 firefox/3.6.14",

"mozilla/5.0 (macintosh; u; ppc mac os x 10.5; en-us; rv:1.9.2.15) gecko/20110303 firefox/3.6.15",

"mozilla/5.0 (macintosh; intel mac os x 10.6; rv:2.0.1) gecko/20100101 firefox/4.0.1"]

# **ip

proxies = ['116.213.98.6:8080','122.114.31.177:808','121.31.195.145:8123','125.118.147.0:808']

# 設定請求物件

req = urllib2.request(url)

# 設定請求頭部資訊

req.add_header('user-agent', random.choice(user_agents))

# 設定**ip位址

proxy_support = urllib2.proxyhandler()

opener = urllib2.build_opener(proxy_support)

urllib2.install_opener(opener)

# 訪問並獲取服務端返回的物件

try:

res = urllib2.urlopen(req)

html = res.read()

return html

except:

global count

count+=1

if(count>20):

print count,json.dumps('請檢查網路設定',ensure_ascii=false)

return

gethtml(url) #自己執行自己

douban = gethtml('')

print str(douban)

reg = re.compile('href=".*"') #查詢網頁所有帶href欄位的內容

print re.search(reg,douban)

print re.findall(reg,douban)

import urllib2

req = urllib2.request('')

try:

res = urllib2.urlopen(req)

except urllib2.httperror,e: #httperror是urlerror的子類

print dir(e)

print e.code #403

print e.msg #forbidden

print e.reason #forbidden

except urllib2.urlerror, e: #urlerror包含httperror

print e.reason

print

'over'

Python網路爬蟲 一 什麼是爬蟲

網路爬蟲 web crawler 一般被用來採集網路上的資訊,也叫做網路鏟 web scraper 網路蜘蛛 web spider 顧名思義,網路爬蟲就是先爬到要採集的網頁上,然後對資料資訊進行採集。1.了解爬蟲的工作原理 2.http抓取工具 3.高階功能 網際網路最早是作為科研資訊的一種交流方式...

Python網路爬蟲基礎 一

2.urllib和urllib2模組使用 3.requests模組使用 4.python三種網頁內容抓取方法 當瀏覽器向web伺服器發出請求時,它向伺服器傳遞了乙個資料塊,也就是請求信 息,http請求資訊由3部分組成 請求方法 uri 協議 版本 請求頭 request header 請求正文 右...

python網路爬蟲 入門(一)

1.爬蟲程式是dt data technology,資料技術 收集資訊的基礎,爬取到目標 的資料後,就可以分析和建立應用了。2.python是乙個簡單 有效的語言,爬蟲所需要的獲取 儲存 整理等流程都可以使用python系統的實現。此外,絕大部分計算機都可以輕鬆的直接使用python語言和安裝pyt...