Python 爬蟲 微博找人頁面爬蟲(四)

2021-09-26 09:10:48 字數 1871 閱讀 3477

通過分析頁面載入的過程,沒有發現有ajax非同步請求載入,但是selenium又不太穩定,有時會載入很久。那怎麼獲取內容呢?想了想,如果木有ajax非同步請求,那麼其實在第一次請求頁面的時候,頁面上的資訊就已經返回了,只是沒有顯示出來,所以,是通過js顯示response的內容?後面發現頁面有很多

detail_url_html = re.search(r'\', text)

if detail_url_html:

# print(detail_url_html.group())

data = json.loads(detail_url_html.group(), strict=false)

html = etree.html(str(data.get('html')))

#判斷返回的頁面內容是否為空

error_selector = html.xpath('//div[@class="wb_empty"]')

if len(error_selector) == 0: #內容不為空

urllist_selectors =html.xpath('//dt[@class="mod_pic"]/a/@href')

# 獲取詳細頁url

print('已經是最後一頁')

else:#內容為空

print(data.get('html'))

self.highlevel_db.addurl(page.get('url'))

文章頁包含的東西很多,可以f12,定位到對應的』domid』,再使用正規表示式匹配到對應的,解析裡面的json資料,獲取到『html』的value後,就可用lxml進行解析。下面的**是獲取關注數,粉絲數,部落格數。

#定位second_part = re.search(r'\', text)

if second_part:

data = json.loads(second_part.group(), strict=false) #解析json資料,獲取html的value

html = etree.html(str(data.get('html')))

selectors = html.xpath('//a[@class="t_link s_txt1"]/strong') #使用lxml解析

# print(selectors)

if selectors:

# 關注數

self.info_data['followers_num'] = selectors[0].text

# 粉絲數

self.info_data['fans_num'] = selectors[1].text

# 微博數

self.info_data['weets_num'] = selectors[2].text

**已經上傳至github,僅供參考

微博爬蟲python 微博爬蟲 python

本文爬取的是m站的微博內容,基於python 2.7 一 微博內容爬取 1.要爬取的微博首頁 2.手機微博是看不到翻頁,是一直往下載入的,但是其json格式的資料仍然以翻頁的形式呈現。3.開啟開發者工具,向下翻頁面,可以在network下的xhr的響應檔案中,找到json檔案的 如 通過分析發現每個...

Python爬蟲之微博評論爬取

import requests 請求 import time 時間 from fake useragent import useragent 隨機請求頭 import re 正則模組 登入微博,f12開啟瀏覽器抓包功能 直接攜帶cookie 引數請求即可 這個方法很簡單,但是只能爬取50頁左右,如果...

爬蟲之爬取微博

3忘記了包含yeild的函式生成器目的是可以作為乙個迭代物件 貼源 importrequests fromurllib.parseimporturlencode frompyqueryimportpyqueryaspq base url header defget page page,value p...