激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python urllib、urllib2、httplib抓取網頁代碼實例

Python urllib、urllib2、httplib抓取網頁代碼實例

2020-06-24 10:00Python教程網 Python

這篇文章主要介紹了Python urllib、urllib2、httplib抓取網頁代碼實例,本文直接給出demo代碼,代碼中包含詳細注釋,需要的朋友可以參考下

使用urllib2,太強大了
試了下用代理登陸拉取cookie,跳轉抓圖片......
文檔:http://docs.python.org/library/urllib2.html

直接上demo代碼了
包括:直接拉取,使用Reuqest(post/get),使用代理,cookie,跳轉處理

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#!/usr/bin/python
# -*- coding:utf-8 -*-
# urllib2_test.py
# author: wklken
# 2012-03-17 wklken@yeah.net
 
 
import urllib,urllib2,cookielib,socket
 
url = "http://www.testurl....." #change yourself
#最簡單方式
def use_urllib2():
 try:
  f = urllib2.urlopen(url, timeout=5).read()
 except urllib2.URLError, e:
  print e.reason
 print len(f)
 
#使用Request
def get_request():
 #可以設置超時
 socket.setdefaulttimeout(5)
 #可以加入參數 [無參數,使用get,以下這種方式,使用post]
 params = {"wd":"a","b":"2"}
 #可以加入請求頭信息,以便識別
 i_headers = {"User-Agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5",
       "Accept": "text/plain"}
 #use post,have some params post to server,if not support ,will throw exception
 #req = urllib2.Request(url, data=urllib.urlencode(params), headers=i_headers)
 req = urllib2.Request(url, headers=i_headers)
 
 #創建request后,還可以進行其他添加,若是key重復,后者生效
 #request.add_header('Accept','application/json')
 #可以指定提交方式
 #request.get_method = lambda: 'PUT'
 try:
  page = urllib2.urlopen(req)
  print len(page.read())
  #like get
  #url_params = urllib.urlencode({"a":"1", "b":"2"})
  #final_url = url + "?" + url_params
  #print final_url
  #data = urllib2.urlopen(final_url).read()
  #print "Method:get ", len(data)
 except urllib2.HTTPError, e:
  print "Error Code:", e.code
 except urllib2.URLError, e:
  print "Error Reason:", e.reason
 
def use_proxy():
 enable_proxy = False
 proxy_handler = urllib2.ProxyHandler({"http":"http://proxyurlXXXX.com:8080"})
 null_proxy_handler = urllib2.ProxyHandler({})
 if enable_proxy:
  opener = urllib2.build_opener(proxy_handler, urllib2.HTTPHandler)
 else:
  opener = urllib2.build_opener(null_proxy_handler, urllib2.HTTPHandler)
 #此句設置urllib2的全局opener
 urllib2.install_opener(opener)
 content = urllib2.urlopen(url).read()
 print "proxy len:",len(content)
 
class NoExceptionCookieProcesser(urllib2.HTTPCookieProcessor):
 def http_error_403(self, req, fp, code, msg, hdrs):
  return fp
 def http_error_400(self, req, fp, code, msg, hdrs):
  return fp
 def http_error_500(self, req, fp, code, msg, hdrs):
  return fp
 
def hand_cookie():
 cookie = cookielib.CookieJar()
 #cookie_handler = urllib2.HTTPCookieProcessor(cookie)
 #after add error exception handler
 cookie_handler = NoExceptionCookieProcesser(cookie)
 opener = urllib2.build_opener(cookie_handler, urllib2.HTTPHandler)
 url_login = "https://www.yourwebsite/?login"
 params = {"username":"user","password":"111111"}
 opener.open(url_login, urllib.urlencode(params))
 for item in cookie:
  print item.name,item.value
 #urllib2.install_opener(opener)
 #content = urllib2.urlopen(url).read()
 #print len(content)
#得到重定向 N 次以后最后頁面URL
def get_request_direct():
 import httplib
 httplib.HTTPConnection.debuglevel = 1
 request = urllib2.Request("http://www.google.com")
 request.add_header("Accept", "text/html,*/*")
 request.add_header("Connection", "Keep-Alive")
 opener = urllib2.build_opener()
 f = opener.open(request)
 print f.url
 print f.headers.dict
 print len(f.read())
 
if __name__ == "__main__":
 use_urllib2()
 get_request()
 get_request_direct()
 use_proxy()
 hand_cookie()

 

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 亚洲影视在线 | 国产精品久久久久久久久久尿 | 97久久曰曰久久久 | 日韩欧美高清一区 | 热久久91| 草莓福利社区在线 | 亚久久| 久久精品欧美一区二区三区不卡 | 本色视频aaaaaa一级网站 | 日本欧美一区 | 在线91观看| 久草亚洲视频 | 久久亚色 | 免费观看视频在线观看 | 圆产精品久久久久久久久久久 | 久久精品国产清自在天天线 | 在线亚州 | 国产在线精品91 | 法国性xxx精品hd专区 | 国产一级淫片免费看 | 亚洲免费在线看 | 肉文女配h | 精品亚洲国产视频 | 久久最新免费视频 | 韩国美女一区 | 国产成人精品一区二区仙踪林 | 蜜桃视频观看麻豆 | 成人午夜在线观看视频 | 视频一区二区三区中文字幕 | 宅男噜噜噜66一区二区 | 欧美中文字幕一区二区三区亚洲 | 久久精品久久久久 | 欧美日韩一区,二区,三区,久久精品 | 国产高潮国产高潮久久久91 | 国语自产免费精品视频在 | 国产精品久久久久久久久久尿 | 一级一片免费看 | 欧美日韩在线播放一区 | 欧美日韩中文字幕在线 | 国产一级一级片 | 国产一区二区影视 |