在python2.x裡面有urllib和urllib2;在python3.x裡面就把urllib和urllib2合成乙個urllib;urllib3是在python3.x了裡面新增的第三方擴充套件。
import urllib.request
# 向指定的url位址傳送請求,並返回伺服器響應的類檔案物件
response = urllib.request.urlopen("")
# 伺服器返回的類檔案物件支援python檔案物件的操作方法
# read()方法就是讀取檔案裡的全部內容,返回字串
html = response.read()
# 列印響應內容
我們需要稍微偽裝下,要不然第一步就會被反爬蟲發現
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import urllib.request
# urllib2 的user-agent: python-urllib/2.7
# user-agent 爬蟲和反爬蟲的第一步
通過post請求到有道翻譯
有些**的查詢傳參不是直接在url上面拼接而且通過post form data進行,這個時候傳遞就要模擬post請求
from urllib import request,parse
# 通過抓包的方式獲取的url,並不是瀏覽器上顯示的url
url = ""
# 完整的headers
headers = {
"x-requested-with" : "",
# 使用者介面輸入
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也就拿到了資料
python案例 Python爬蟲案例集合
urllib2 在python2.x裡面有urllib和urllib2 在python3.x裡面就把urllib和urllib2合成乙個urllib urllib3是在python3.x了裡面新增的第三方擴充套件。urllib2 官方文件 urllib2 原始碼 urllib2 在 python3....
python爬蟲案例講解 Python爬蟲案例集合
伺服器返回的類檔案物件支援python檔案物件的操作方法 read 方法就是讀取檔案裡的全部內容,返回字串 html response.read 列印響應內容 我們需要稍微偽裝下,要不然第一步就會被反爬蟲發現 usr bin env python coding utf 8 import urllib...
python爬蟲吧 Python爬蟲案例集合
urllib2 在python2.x裡面有urllib和urllib2 在python3.x裡面就把urllib和urllib2合成乙個urllib urllib3是在python3.x了裡面新增的第三方擴充套件。urllib2 官方文件 urllib2 原始碼 urllib2 在 python3....