由於網頁端反爬蟲機制比較完善所以才去移動端進行爬蟲。
對網頁進行抓包,找到相關資料
檢視資料是否與網頁的內容相同
分析多組資料的請求頭
通過網頁分析構造url位址對,位址資訊訪問。
import requests
#構造搜尋內容
data =
#反爬蟲,模擬遊覽器訪問
headers = )
print(result)
檢視結果
獲取到的資料儲存到.cvs檔案中
import csv
import time
from csv import dictwriter
......
#儲存檔案
#檔案的名字
file_name = '電影.csv'
with open(file_name,'a',newline = "",encoding = 'gb18030') as f:
f_csv = dictwriter(f,header) #dictwriter以字典形式寫入
#防止header重複寫入
with open(file_name, 'r', encoding='gb18030', newline="") as file:
reader = csv.reader(file)
if not [row for row in reader]:
f_csv.writeheader()
f_csv.writerows(result)
else:
f_csv.writerows(result)
#延時,防止反爬機制
time.sleep(0.1)
檢視是否生成 「電影.csv」 檔案
完成程式編寫。
為了讓該程式實用美觀,引用tkinter建立gui介面。
from tkinter import * #tkinter可以快速建立gui應用程式
from csv import dictwriter
......
#建立乙個視窗
root = tk()
#設計視窗大小以及位置 寬高400*100 位置(650,400)
root.geometry('405x80+650+400')
#設計視窗標題
root.title('微博搜尋')
#標籤控制項
#網格顯示標籤,靠左顯示
labl1.grid(sticky=w)
#輸入框
entry = entry(root,font = ('華文行楷',18))
#網格顯示標籤
entry.grid(row=0,column=1,sticky=w)
#搜尋按鈕
button = button(root,text = '搜尋',font = ('華文行楷',15),command=sign)
#command=sign對程式進行對接
#網格式顯示
button.grid(row=0,column=3,sticky=e)
#顯示視窗
對程式改進
def sign():
#獲取輸入結果
key_word = entry.get()
#去除輸入框的空格
key_word = key_word.strip()
#判斷輸入是否為空
if key_word == '':
#提示資訊
#構造搜尋內容
else:
for i in range(1,20):
data = '.format(key_word),
'page_type':'searchall',
'page':i,
}......
#檔案的名字
file_name = key_word + '.csv'
......
#顯示生成檔案
#標籤控制項
labl2 = label(root,text = '查詢完成:{}'.format(file_name),font = ('華文行楷',15))
#網格顯示標籤,靠左顯示
labl2.grid(row=1,column=1)
微博爬蟲python 微博爬蟲 python
本文爬取的是m站的微博內容,基於python 2.7 一 微博內容爬取 1.要爬取的微博首頁 2.手機微博是看不到翻頁,是一直往下載入的,但是其json格式的資料仍然以翻頁的形式呈現。3.開啟開發者工具,向下翻頁面,可以在network下的xhr的響應檔案中,找到json檔案的 如 通過分析發現每個...
爬蟲初探 新浪微博搜尋爬蟲總覽
在這裡需要說明一下,一般來說,資料抓取工作主要有兩種方式 一是通過抓包工具 fiddle 進行抓包分析,獲取ajax請求的url,通過url抓取資料,這也是更為通用 推薦的方法 另外一種方法就是後面要使用的模擬瀏覽器行為的爬蟲。那麼,在源 中資訊不可見的情況下,通過什麼方法能夠提取js 中的html...
Python 爬蟲 微博找人頁面爬蟲(四)
通過分析頁面載入的過程,沒有發現有ajax非同步請求載入,但是selenium又不太穩定,有時會載入很久。那怎麼獲取內容呢?想了想,如果木有ajax非同步請求,那麼其實在第一次請求頁面的時候,頁面上的資訊就已經返回了,只是沒有顯示出來,所以,是通過js顯示response的內容?後面發現頁面有很多 ...