久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

python - 爬蟲模擬登錄后,爬取csdn后臺文章列表遇到的問題

瀏覽:137日期:2022-07-17 10:39:13

問題描述

爬蟲確實已經登錄進去了,因為我爬取個人信息是可以抓出來的,但是下圖的這個網址抓不出來:

網址是:http://write.blog.csdn.net/postlist,就是你的csdn后臺。

我貼下代碼吧,py2.7的

#!/usr/bin/env python# -*- coding: utf-8 -*-from bs4 import BeautifulSoupimport requestsclass CSDN(object): def __init__(self, headers):self.session = requests.Session()self.headers = headers def get_webflow(self):url = ’http://passport.csdn.net/account/login’response = self.session.get(url=url, headers=self.headers)soup = BeautifulSoup(response.text, ’html.parser’)lt = soup.find(’input’, {’name’: ’lt’})[’value’]execution = soup.find(’input’, {’name’: ’execution’})[’value’]soup.clear()return (lt, execution) def login(self, account, password):self.username = accountself.password = passwordlt, execution = self.get_webflow()data = { ’username’: account, ’password’: password, ’lt’: lt, ’execution’: execution, ’_eventId’: ’submit’}url = ’http://passport.csdn.net/account/login’response = self.session.post(url=url, headers=self.headers, data=data)if (response.status_code == 200): print(’正常’)else: print(’異常’) def func(self):headers1={ ’Host’:’write.blog.csdn.net’, ’Upgrade-Insecure-Requests’:’1’, ’User-Agent’:’Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36’}response=self.session.get(url=’http://write.blog.csdn.net/postlist’,headers=headers1,allow_redirects=False)print response.textif __name__ == ’__main__’: headers = {’Host’: ’passport.csdn.net’,’Origin’: ’http://passport.csdn.net’,’Referer’:’http://passport.csdn.net/account/login’,’Upgrade-Insecure-Requests’:’1’,’User-Agent’: ’Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36’, } csdn = CSDN(headers=headers) account = ’’ password = ’’ csdn.login(account=account, password=password) csdn.func()

上面的代碼輸出是

正常<html><head><title>Object moved</title></head><body><h2>Object moved to <a >here</a>.</h2></body></html>

問題解答

回答1:

因為這個地址返回的是一個302跳轉,你要根據返回header的Location繼續請求,再分析返回的內容繼續處理,瀏覽器幫你做了這些302跳轉和執行返回的js等內容,手工抓取就需要自己處理.

回答2:

直接用cookie即可

標簽: Python 編程
主站蜘蛛池模板: 禹州市| 甘谷县| 贡觉县| 德江县| 高雄县| 吉木萨尔县| 恩施市| 张家港市| 肇州县| 渭源县| 永仁县| 丽水市| 伊宁市| 德安县| 香港 | 昭苏县| 兰西县| 公安县| 通渭县| 玉门市| 休宁县| 禄丰县| 江安县| 玛纳斯县| 洛川县| 静乐县| 白城市| 昌图县| 鸡泽县| 左云县| 台湾省| 张北县| 唐山市| 东源县| 灵宝市| 永登县| 临颍县| 敦煌市| 乐平市| 班戈县| 竹山县|