urllib2
在python2.x裡面有urllib和urllib2;在python3.x裡面就把urllib和urllib2合成乙個urllib;urllib3是在python3.x了裡面新增的第三方擴充套件。
urllib2 官方文件:
urllib2 原始碼:
urllib2 在 python3.x 中被改為urllib.request
import urllib.request
# 向指定的url位址傳送請求,並返回伺服器響應的類檔案物件
response = urllib.request.urlopen("")
# 伺服器返回的類檔案物件支援python檔案物件的操作方法
# read()方法就是讀取檔案裡的全部內容,返回字串
html = response.read()
# 列印響應內容
print(html)
我們需要稍微偽裝下,要不然第一步就會被反爬蟲發現
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import urllib.request
# urllib2 的user-agent: python-urllib/2.7
# user-agent 爬蟲和反爬蟲的第一步
ua_headers = )
fullurl = url + key
tiebaspider(fullurl,beginpage,endpage)
通過post請求到有道翻譯
有些**的查詢傳參不是直接在url上面拼接而且通過post form data進行,這個時候傳遞就要模擬post請求
from urllib import request,parse
# 通過抓包的方式獲取的url,並不是瀏覽器上顯示的url
url = ""
# 完整的headers
# 使用者介面輸入
key = input("請輸入需要翻譯的文字:")
# 傳送到web伺服器的表單資料
formdata = {
"from" : "auto",
"to" : "auto",
"smartresult" : "dict",
"client" : "fanyideskweb",
"type" : "auto",
"i" : key,
"doctype" : "json",
"keyfrom" : "fanyi.web",
"ue" : "utf-8",
"version":"2.1",
"action" : "fy_by_clickbutton",
"typoresult" : "false"
# 經過urlencode轉碼
data = parse.urlencode(formdata).encode('utf-8')
print(data)
# 如果request()方法裡的data引數有值,那麼這個請求就是post
# 如果沒有,就是get
request1 = request.request(url, data = data, headers = headers)
print(request.urlopen(request1).read().decode('utf-8'))
抓取ajax豆瓣電影
有些時候頁面上面是空的,內容通過ajax來載入,那麼我們爬蟲需要關注點就應該到資料來源這個位置,ajax載入的頁面,資料來源一定是json,拿到json也就拿到了資料
from urllib import request, parse
url = ""
formdata = {
"start":"0",
"limit":"20"
data = parse.urlencode(formdata).encode('utf-8')
request1 = request.request(url, data = data, headers = headers)
print(request.urlopen(request1).read().decode('utf-8'))
Python貼吧小爬蟲
不用登陸,cookie,header 用了一點正規表示式 coding utf 8 created on sun apr 10 14 00 32 2016 author albert import urllib2 import re i 0begin int raw input u 輸入起始頁 en...
Python爬蟲 獲取貼吧內容
參考寫的第乙個比較完整的python爬蟲程式。coding utf 8 import urllib import urllib2 import re 處理頁面標籤類 class tool 去除img標籤,7位長空格 removeimg re.compile 刪除超連結標籤 removeaddr re...
Python爬蟲 百度貼吧
get請求 from urllib import request import urllib import time 第一頁 第二頁 2 1 50 第三頁 3 1 50 第四頁 4 1 50 第n頁 n 1 50 推測第一頁 headers 根據url傳送請求,獲取伺服器響應檔案 defloadpa...