進入豆瓣電影 檢視原始碼,原始碼中並沒有我們需要的資料,通過瀏覽器的檢查功能中的 network ,可以看到頁面上的資料是通過前端傳送ajax請求,動態的獲取的.這樣我們就不能直接在html頁面中獲取到想要的資料了.
解決的辦法: 直接傳送請求去後台獲取到返回的json資料
位址列中的請求路徑:
根據需求檢索的電影
檢索的結果
前段傳送的ajax請求 和返回的資料
在header 訊息頭中的一欄的 最下邊是我們的檢索方式 也就是我們傳送請求需攜帶的引數
基於以上的條件我們就可以採用**去傳送我們的請求
**演示:
# coding=utf-8
# # sort=t&range=0,10&tags=%e5%89%a7%e6%83%85&start=0
# 分析:
# 請求需要帶去的引數
# sort:t 排序
# range:0,10 評分範圍
# tags:電影,劇情 標籤(電影型別)
# start:0 資料的起始位置 從0 開始 每頁20條資料
import urllib
import urllib2
import os
defload_page
(url):
"""傳送請求載入頁面"""
headers =
# 編碼
key_words = urllib.urlencode(key_words)
url = base_url + key_words
# 呼叫函式
load_page(url)
defmain
():"""程式主函式"""
spider()
if __name__ == "__main__":
main()
返回的結果:
,,{
"directors": [
"羅伯特·澤公尺吉斯"
],"rate": "9.4"
, "cover_x": 721
, "star": "50"
, "title": "阿甘正傳"
,
Java java爬蟲獲取動態網頁的資料
前段時間一直在研究爬蟲,抓取網路上的特定的資料,如果只是靜態網頁就是再簡單不過了,直接使用jsoup document doc jsoup.connect url timeout 2000 get 獲取到document然後就想幹嘛就幹嘛了,但是一旦碰到一些動態生成的 就不行了,由於資料是網頁載入完...
js動態獲取select選中的option
js動態獲取select選中的option 通過2種方式 一 jquery方法 頁面中必須載入過jquery庫 推薦使用 1 var options test option selected 獲取選中的項 2 alert options.val 拿到選中項的值 3 alert options.tex...
HTML獲取js動態生成的input的資料
html獲取js動態生成的input的資料,每按一次增加頁都自動生成一行div,開啟和刪除標籤都繫結當條記錄 project title 方案設定 div btn onclick window.history.go 1 返回 button btn zengjia style margin left ...