import csv
import time
import urllib.parse as parse
from selenium import webdriver
from pyquery import PyQuery as pq
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome()
driver.set_window_size(1920, 1200)
wait = WebDriverWait(driver, 10)
def login_zhihu(username, password):
"""登錄知乎
:param username: 用戶(hù)名
:param password: 密碼
"""
try:
login_url = 'https://www.zhihu.com/signin'
driver.get(login_url)
username_input = wait.until(EC.presence_of_element_located((By.XPATH,
'//*[@id="root"]/div/main/div/div/div/div[2]/div[1]/form/div[1]/div[2]/div[1]/input')))
username_input.send_keys(username)
password_input = wait.until(EC.presence_of_element_located((By.XPATH,
'//*[@id="root"]/div/main/div/div/div/div[2]/div[1]/form/div[2]/div/div[1]/input')))
password_input.send_keys(password)
# 等待20秒很泊,用于手動(dòng)輸入驗(yàn)證碼
time.sleep(20)
button = wait.until(EC.element_to_be_clickable((By.XPATH,
'//*[@id="root"]/div/main/div/div/div/div[2]/div[1]/form/button')))
button.submit()
# 等待Cookies加載# 等待Cookies加載
time.sleep(10)
cookies = driver.get_cookies()
print(cookies)
except Exception as e:
print(e)
finally:
driver.close()
def topic_title_spider(keyword='王寶強(qiáng)', filename='wangbaoqiang', scroll_times=10):
""" 獲取關(guān)鍵詞搜素下標(biāo)題和評(píng)論的數(shù)目
:param keyword: 關(guān)鍵詞
:param filename: 保存的文件名
:param scroll_times: 頁(yè)面向下滾動(dòng)次數(shù)
"""
start = time.time()
# 建立一個(gè)收集數(shù)據(jù)的csv文件
csvFile = open('./%s.csv' % filename, 'a+', newline='')
writer = csv.writer(csvFile)
writer.writerow(('title', 'review_num'))
# 將關(guān)鍵詞轉(zhuǎn)換為十六進(jìn)制格式颇象,填入到鏈接中
kw = parse.quote(keyword)
url = 'https://www.zhihu.com/search?type=content&q=%s' % kw
driver.get(url)
# 加載盡可能多的頁(yè)面數(shù)據(jù)
for i in range(1, scroll_times, 1):
driver.execute_script('window.scrollTo(0, document.body.scrollHeight)')
duration = time.time() - start
print('%s -- 小爬蟲(chóng) 已經(jīng)向下滾動(dòng) 第%d次 了,運(yùn)行時(shí)間%.2f秒鸟废,好累啊!' % (keyword, i, duration))
time.sleep(5)
html = driver.page_source
# 解析獲取所需內(nèi)容
doc = pq(html)
items = doc('.Card .List-item').items()
count = 0
for i, item in enumerate(items):
button = item.find('.ContentItem-action')
if button:
try:
review_num = button.text().split(' ')[-2]
title = item.find('.ContentItem-title').text().replace('\r', '').replace('\n', '')
writer.writerow((title, review_num))
count += 1
print('成功' + str(count) + '條佩微!')
print(title, review_num)
print()
except Exception as e:
print(e)
continue
csvFile.close()
driver.quit()
if __name__ == '__main__':
# login_zhihu('XXX', 'XXX')
topic_title_spider(keyword='Python', filename='python', scroll_times=20)
知乎登錄和關(guān)鍵詞爬取
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門(mén)唆缴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)鳍征,“玉大人,你說(shuō)我怎么就攤上這事面徽⊙薮裕” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵趟紊,是天一觀的道長(zhǎng)氮双。 經(jīng)常有香客問(wèn)我,道長(zhǎng)霎匈,這世上最難降的妖魔是什么戴差? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮唧躲,結(jié)果婚禮上造挽,老公的妹妹穿的比我還像新娘。我一直安慰自己弄痹,他們只是感情好饭入,可當(dāng)我...
- 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著肛真,像睡著了一般谐丢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蚓让,一...
- 那天乾忱,我揣著相機(jī)與錄音,去河邊找鬼历极。 笑死窄瘟,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的趟卸。 我是一名探鬼主播蹄葱,決...
- 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼锄列!你這毒婦竟也來(lái)了图云?” 一聲冷哼從身側(cè)響起,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤邻邮,失蹤者是張志新(化名)和其女友劉穎竣况,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體筒严,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡丹泉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鸭蛙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嘀掸。...
- 正文 年R本政府宣布揩晴,位于F島的核電站,受9級(jí)特大地震影響贪磺,放射性物質(zhì)發(fā)生泄漏硫兰。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一寒锚、第九天 我趴在偏房一處隱蔽的房頂上張望劫映。 院中可真熱鬧违孝,春花似錦、人聲如沸泳赋。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)祖今。三九已至校坑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間千诬,已是汗流浹背耍目。 一陣腳步聲響...
- 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像傲茄,于是被迫代替她去往敵國(guó)和親耕捞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- #!/usr/bin/python # # Licensed to the Software Freedom Co...
- 我們可以借助插件來(lái)做 打開(kāi)插件烫幕,找到自己需要的驗(yàn)證碼 篩選有用的路徑 把對(duì)應(yīng)的視圖函數(shù)也拿過(guò)來(lái)俺抽,注意還需要一個(gè)ge...
- 今天隨老公帶滴滴一起回到柳林的鄉(xiāng)下,一方面回去祭奠先人较曼,一方面看望公婆還有我家老二磷斧。 回家的心總是急切的,恰逢清明...
- 所謂靈魂伴侶 不過(guò)是靈魂的百分之五十 和她靈魂的百分之五十相契合 剩下的百分之五十是包容與理解 我想真正的靈魂伴侶...