真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python如何爬取某乎問答數(shù)

這篇文章主要為大家展示了“Python如何爬取某乎問答數(shù)”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Python如何爬取某乎問答數(shù)”這篇文章吧。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、蒙陰網(wǎng)站維護、網(wǎng)站推廣。

前言

Python是個獲取數(shù)據(jù)的小能手,所以這次希望能用它在*乎爬取一些的問題的回答數(shù),練練手。

1.導(dǎo)入模塊

import re
from bs4 import BeautifulSoup
import requests
import time
import json
import pandas as pd
import numpy as np

2.狀態(tài)碼

r = requests.get('https://github.com/explore')
r.status_code

3. 爬取*乎

#瀏覽器header和cookies
headers = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36'}
cookies = {'cookie':'_zap=3d979dbb-f25b-4014-8770-89045dec48f6; d_c0="APDvML4koQ-PTqFU56egNZNd2wd-eileT3E=|1561292196"; tst=r; _ga=GA1.2.910277933.1582789012; q_c1=9a429b07b08a4ae1afe0a99386626304|1584073146000|1561373910000; _xsrf=bf1c5edf-75bd-4512-8319-02c650b7ad2c; _gid=GA1.2.1983259099.1586575835; l_n_c=1; l_cap_id="NDIxM2M4OWY4N2YwNDRjM2E3ODAxMDdmYmY2NGFiMTQ=|1586663749|ceda775ba80ff485b63943e0baf9968684237435"; r_cap_id="OWY3OGQ1MDJhMjFjNDBiYzk0MDMxMmVlZDIwNzU0NzU=|1586663749|0948d23c731a8fa985614d3ed58edb6405303e99"; cap_id="M2I5NmJkMzRjMjc3NGZjNDhiNzBmNDMyNDQ3NDlmNmE=|1586663749|dacf440ab7ad64214a939974e539f9b86ddb9eac"; n_c=1; Hm_lvt_98beee57fd2ef70ccdd5ca52b9740c49=1586585625,1586587735,1586667228,1586667292; Hm_lpvt_98beee57fd2ef70ccdd5ca52b9740c49=1586667292; SESSIONID=GWBltmMTwz5oFeBTjRm4Akv8pFF6p8Y6qWkgUP4tjp6; JOID=UVkSBEJI6EKgHAipMkwAEWAkvEomDbkAwmJn4mY1kHHPVGfpYMxO3voUDK88UO62JqgwW5Up4hC2kX_KGO9xoKI=; osd=UlEXAU5L4EelEAuhN0kMEmghuUYlBbwFzmFv52M5k3nKUWvqaMlL0vkcCaowU-azI6QzU5As7hO-lHrGG-d0pa4=; capsion_ticket="2|1:0|10:1586667673|14:capsion_ticket|44:YTJkYmIyN2Q4YWI4NDI0Mzk0NjQ1YmIwYmUxZGYyNzY=|b49eb8176314b73e0ade9f19dae4b463fb970c8cbd1e6a07a6a0e535c0ab8ac3"; z_c0="2|1:0|10:1586667694|4:z_c0|92:Mi4xOGc1X0dnQUFBQUFBOE84d3ZpU2hEeVlBQUFCZ0FsVk5ydTVfWHdDazlHMVM1eFU5QjlqamJxWVhvZ2xuWlhTaVJ3|bcd3601ae34951fe72fd3ffa359bcb4acd60462715edcd1e6c4e99776f9543b3"; unlock_ticket="AMCRYboJGhEmAAAAYAJVTbankl4i-Y7Pzkta0e4momKdPG3NRc6GUQ=="; KLBRSID=fb3eda1aa35a9ed9f88f346a7a3ebe83|1586667697|1586660346'}

start_url = 'https://www.zhihu.com/api/v3/feed/topstory/recommend?session_token=c03069ed8f250472b687fd1ee704dd5b&desktop=true&page_number=5&limit=6&action=pull&ad_interval=-1&before_id=23'

4. beautifulsoup解析

s = requests.Session()
start_url = 'https://www.zhihu.com/'
html = s.get(url = start_url, headers = headers,cookies = cookies,timeout = 5)
soup = BeautifulSoup(html.content)

question = [] ## 名稱
question_address = [] ## url

temp1 = soup.find_all('div',class_='Card TopstoryItem TopstoryItem-isRecommend')
for item in temp1:
    temp2 = item.find_all('div',itemprop="zhihu:question")
#     print(temp2)
    if temp2 != []: #### 存在專欄等情況,暫時跳過
        question_address.append(temp2[0].find('meta',itemprop='url').get('content'))
        question.append(temp2[0].find('meta',itemprop='name').get('content'))

5. 存儲信息

question_focus_number = [] #關(guān)注量
question_answer_number = [] # 回答量
for url in question_address:
    test = s.get(url = url,headers = headers,cookies = cookies,timeout = 5)
    soup = BeautifulSoup(test.content)
    info = soup.find_all('div',class_='QuestionPage')[0]
#     print(info)
    focus_number = info.find('meta',itemprop="answerCount").get('content')
    answer_number = info.find('meta',itemprop="zhihu:followerCount").get('content')
    question_focus_number.append(focus_number)
    question_answer_number.append(answer_number)

6. 整理信息并輸出

question_info = pd.DataFrame(list(zip(question,question_focus_number,question_answer_number)),columns = ['問題名稱','關(guān)注人數(shù)','回答人數(shù)']
for item in ['關(guān)注人數(shù)','回答人數(shù)']:
    question_info[item] = np.array(question_info[item],dtype = 'int')
question_info.sort_values(by='關(guān)注人數(shù)',ascending = False)

輸出:

Python如何爬取某乎問答數(shù)

以上是“Python如何爬取某乎問答數(shù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


新聞標題:Python如何爬取某乎問答數(shù)
標題來源:http://weahome.cn/article/gsoshd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部