模擬登陸知乎後,跳轉到首頁,返回400,請求無效,應該是知乎對request請求有做要求。
"")#模擬登入知乎,選擇登入選項
#info = response.xpath('//*[@id="root"]/div/main/div/div/div/div[2]/div[2]/span/text()')
browser.find_element_by_xpath('
//*[@id="root"]/div/main/div/div/div/div[2]/div[2]/span
').click()
#browser.find_element_by_xpath(
'//*[@id="root"]/div/main/div/div/div/div[2]/div[1]/form/div[1]/div[2]/div[1]/input
').send_keys(
#輸入密碼
browser.find_element_by_xpath(
'//*[@id="root"]/div/main/div/div/div/div[2]/div[1]/form/div[2]/div/div[1]/input
').send_keys("
*****")
#模擬登入知乎,點選登入按鈕
#//*[@id="root"]/div/main/div/div/div/div[2]/div[1]/form/button
browser.find_element_by_xpath('
//*[@id="root"]/div/main/div/div/div/div[2]/div[1]/form/button
').click()
import
time
time.sleep(10)
cookies =browser.get_cookies()
(cookies)
cookie_dict ={}
import
pickle
pickle.dump(cookies,
open(
"./articlespider/cookies/zhihu.cookie
", "wb"
))
#for cookie in cookies:
## 寫入檔案
#zhihu_cookie_dir = os.path.join(project_dir, "cookies\\zhihu\\")
#f = open(zhihu_cookie_dir + cookie['name'] + '.zhihu', "wb")
#pickle.dump(cookie, f)
#f.close()
#cookie_dict[cookie['name']] = cookie['value']
cookie_dict ={}
for cookie in
cookies:
cookie_dict[cookie[
"name
"]] = cookie["
value"]
#browser.close()
#return request(url=r"",headers=self.headers,cookies=cookie_dict,callback=self.check_login)
return [request(url=self.start_urls[0], dont_filter=true,headers=self.headers, cookies=cookie_dict)]
在request裡加上headers,再跳轉到parse時,response就能看到首頁了:
HttpClient 模擬登陸知乎
最近做爬蟲相關工作,我們平時用httpwebrequest比較多,每乙個url都要建立乙個httpwebrequest例項,而且有些 驗證比較複雜,在登陸及後續抓取資料的時候,每次請求需要把上次的cookie傳遞給這次請求。記得這篇部落格 結尾,dudu總結了 httpclient最與眾不同的地方是...
Mac模擬登陸知乎
10001 請求引數異常,請公升級客戶端後重試 mac 在terminal 先其中乙個終端,不要關閉 之後在python檔案中正常編寫 先來乙個測試檔案 coding utf 8 from selenium import webdriver from selenium.webdriver.chrom...
python模擬登陸知乎
恢復內容開始 在完成前面的階段的任務之後,我們現在已經能夠嘗試著去模擬登入一些 了。在這裡我們模擬登入一下知乎做一下實驗。筆者在這裡總共用了三天多的時間,下面給大家分享一下筆者是怎麼一步一步的模擬登入成功的。也希望大家能夠吸取我的教訓。初步的模擬登入 下面這段 是筆者最初寫的,我們慢慢來看 impo...