條件:女神微博位址
需求:獲取微博歷史,將其儲存為歷史記錄檔案
本例重點抓取微博記錄的傳送時間、內容文字以及**微博的原內容文字
思路(實現方案):
首先通過瀏覽器做頁面訪問,抓取到微博歷史請求
控制台抓取到的請求位址為
通過對請求的分析,找到變數x,控制其改變可以連續獲取分頁資料
經分析,有三個引數需要變動:
a. page/pre_page 當前請求的頁數(range(0,max+1))
b. pagebar 請求當前頁的第幾部分(range(0,2))
c. __rnd 請求發起的時間戳(math.ceil(time.time() * 1000))
通過對響應的分析,整理解析方案
此請求返回值為json串,需先解析json獲取其中的頁面**,然後正常解析網頁
整理2/3步驟的操作,編碼完成請求及解析操作
將結果儲存至csv檔案中,歸檔儲存
import requests
from lxml import etree
import math
import time
import json
?ajwvr=6&domain=100505&refer_flag=1005050005_&is_all=1&pagebar=&pl_name=pl_official_myprofilefeed__21&id=1005053035774121&script_uri=/u/3035774121&feed_type=0&page=&pre_page=&domain_op=100505&__rnd="
'''headers =
wb_list =
# 此處可以根據頁面返回動態獲取頁數,這裡從簡
for page in range(0, 24):
for page_bar in range(0, 2):
now_time = math.ceil(time.time() * 1000)
print(url)
req = requests.get(url, headers=headers).text
html = etree.html(json.loads(req)['data'])
div_list = html.xpath('/html/body/div')
for div in div_list:
wb_from = div.xpath('string(div/div[@class="wb_detail"]/div[@class="wb_from s_txt2"]/a/@title)')
wb_text = div.xpath('string(div/div[@class="wb_detail"]/div[@class="wb_text w_f14"])')
wb_quot = div.xpath(
'string(div/div[@class="wb_detail"]/div[@class="wb_feed_expand"]/div/div[@class="wb_text"])')
wb_dict =
time.sleep(1)
import pandas
df = pandas.dataframe(wb_list, columns=['from', 'text', 'quot'])
df.to_csv('wb_his.csv')
python資料抓取技術與實戰 爬蟲基礎
第乙個爬蟲應用 該 主要爬取電子工業出版社首頁的內容。引入requests模組 import requests 定義get content函式 def get content url resp requests.get url return resp.text name main 的作用是被別的檔案...
python 爬蟲 基本抓取
首先,python中自帶urllib及urllib2這兩個模組,基本上能滿足一般的頁面抓取,另外,requests 也是非常有用的。對於帶有查詢欄位的url,get請求一般會將來請求的資料附在url之後,以?分割url和傳輸資料,多個引數用 連線。data requests data為dict,js...
python 爬蟲,抓取小說
coding utf 8 from bs4 import beautifulsoup from urllib import request import re import os,time 訪問url,返回html頁面 defget html url req request.request url ...