中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

WeiboUserScrapy類爬蟲爬取爬蟲的示例分析

發布時間:2022-01-04 11:07:40 來源:億速云 閱讀:127 作者:柒染 欄目:大數據

WeiboUserScrapy類爬蟲爬取爬蟲的示例分析,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

我停止對有GUI功能集中版本的維護了,集中精力維護無GUI版本功能獨立版本的開發和維護,并且保證每個功能都是最小可用產品且互不干擾。但是功能獨立版本一直有個歷史遺留問題:沒有將集中版本中爬取每個用戶的所有微博的功能獨立出來

整體的剝離過程來算比較輕松,因為功能集中版本每個功能都有一個相對獨立的類,這個用戶微博爬蟲就是一個 WeiboUserScrapy 類,只不過在集中版本中為了和其他功能模塊進行通信和協調,引進了 PyQT5 的信號量,以及一些公共配置變量,獨立時將這些東西去掉即可。

拿到代碼后,你需要做的兩件事依次是:

  1. 更換代碼中的 Cookie
  2. 把 user_id 改成你想要爬取的用戶 id(是純數字)
然后運行代碼即可,不一會兒你就能在項目的根目錄下的 user 文件夾看到諸如   {user_id}_{nickname}_{weibo_num}博_{followers}粉_{following}關注.csv'    格式的文件,爬取的微博都保存在這里。  
想到老鐵們可能有這樣的問題:某個博主有 4w 條微博,爬了 2w 條突然斷網了或者 Cookie 過期了,難道要重新爬?      
作為良心博主,當然要加一個斷點續爬的功能,其實實現起來也不難,每次寫 csv 的時候同時將翻頁參數 page 保存并更新到一個配置文件中即可,核心代碼如下:  
 

user_page_config = 'user_page.json'
if not os.path.exists('user_page.json'):
    page = 1
    with open(user_page_config,'w', encoding='utf-8-sig') as f:
        f.write(json.dumps({f'{self.user_id}':page}, indent=2))
else:
    with open(user_page_config,'r', encoding='utf-8-sig') as f:
        page = json.loads(f.read())[f'{self.user_id}']

random_pages = random.randint(1, 5)
for page in range(page, page_num + 1):
    self.get_one_page(page)  # 獲取第page頁的全部微博

    with open(user_page_config,'r', encoding='utf-8-sig') as f:
        old_data = json.loads(f.read())
        old_data[f'{self.user_id}'] = page

    with open(user_page_config,'w', encoding='utf-8-sig') as f:
        f.write(json.dumps(old_data, indent=2))
   
 
這樣,就能右鍵運行代碼,開開心心做其他事去,不用每時每刻盯著代碼。    

看完上述內容,你們掌握WeiboUserScrapy類爬蟲爬取爬蟲的示例分析的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

伊宁市| 含山县| 霍城县| 封开县| 桂阳县| 临武县| 巴彦县| 和林格尔县| 桑植县| 仲巴县| 博乐市| 沙田区| 高州市| 崇仁县| 凭祥市| 阿拉善盟| 丁青县| 大港区| 牡丹江市| 华蓥市| 嘉义县| 万全县| 漳州市| 嘉鱼县| 马关县| 衡阳市| 越西县| 蒙山县| 布拖县| 长沙县| 文登市| 绥芬河市| 阳城县| 北票市| 贵南县| 搜索| 威宁| 吉首市| 黑河市| 宾阳县| 五原县|