python爬蟲吧 Python爬蟲案例集合

2021-10-10 03:55:52 字數 2149 閱讀 7921

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...