python爬蟲(四)抓取實戰 歷史微博歸檔

2021-08-14 04:26:12 字數 1706 閱讀 6086

條件:女神微博位址

需求:獲取微博歷史,將其儲存為歷史記錄檔案

本例重點抓取微博記錄的傳送時間、內容文字以及**微博的原內容文字

思路(實現方案):

首先通過瀏覽器做頁面訪問,抓取到微博歷史請求

控制台抓取到的請求位址為

通過對請求的分析,找到變數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 ...