亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

python - 如何在scrapy中帶cookie訪問?

瀏覽:94日期:2022-09-05 15:34:56

問題描述

簡單的通過scrapy訪問雪球都報錯,我知道要先訪問一次雪球,需要cookie信息才能真正打開連接。scrapy據說可以不用在意cookie,會自動獲取cookie。我按照這個連接在middleware里已經啟用cookie,http://stackoverflow.com/ques...,但為什么還是會返回404錯誤?搜索了幾天都沒找到答案。郁悶啊,求幫忙給個簡單代碼如何訪問,謝謝了

class XueqiuSpider(scrapy.Spider): name = 'xueqiu' start_urls = 'https://xueqiu.com/stock/f10/finmainindex.json?symbol=SZ000001&page=1&size=1' headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8','Accept-Language': 'zh-CN,zh;q=0.8','Connection': 'keep-alive','Host': 'www.zhihu.com','Upgrade-Insecure-Requests': '1','User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36' } def __init__(self, url = None):self.user_url = url def start_requests(self):yield scrapy.Request( url = self.start_urls, headers = self.headers, meta = {’cookiejar’: 1 }, callback = self.request_captcha) def request_captcha(self,response):print response

錯誤日志。

2017-03-04 12:42:02 [scrapy.core.engine] INFO: Spider opened2017-03-04 12:42:02 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)2017-03-04 12:42:02 [scrapy.extensions.telnet] DEBUG: Telnet console listening on 127.0.0.1:6023********Current UserAgent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6************2017-03-04 12:42:12 [scrapy.downloadermiddlewares.cookies] DEBUG: Received cookies from: <200 https://xueqiu.com/robots.txt>Set-Cookie: aliyungf_tc=AQAAAGFYbBEUVAQAPSHDc8pHhpYZKUem; Path=/; HttpOnly2017-03-04 12:42:12 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://xueqiu.com/robots.txt> (referer: None)********Current UserAgent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6************2017-03-04 12:42:12 [scrapy.downloadermiddlewares.cookies] DEBUG: Received cookies from: <404 https://xueqiu.com/stock/f10/finmainindex.json?symbol=SZ000001&page=1&size=1>Set-Cookie: aliyungf_tc=AQAAAPTfyyJNdQUAPSHDc8KmCkY5slST; Path=/; HttpOnly2017-03-04 12:42:12 [scrapy.core.engine] DEBUG: Crawled (404) <GET https://xueqiu.com/stock/f10/finmainindex.json?symbol=SZ000001&page=1&size=1> (referer: None)2017-03-04 12:42:12 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <404 https://xueqiu.com/stock/f10/finmainindex.json?symbol=SZ000001&page=1&size=1>: HTTP status code is not handled or not allowed2017-03-04 12:42:12 [scrapy.core.engine] INFO: Closing spider (finished)2017-03-04 12:42:12 [scrapy.statscollectors] INFO: Dumping Scrapy stats:

問題解答

回答1:

又試了一下.. 確實不需要登錄哦.. 是我想多了... 直接先請求一下xueqiu.com,拿到cookie后再請求一下API的地址就可以了.. 原來如此..

==============羞恥的分割線=============

經我驗證,你需要登錄...

import scrapyimport hashlibfrom scrapy.http import FormRequest, Requestclass XueqiuScrapeSpider(scrapy.Spider): name = 'xueqiu_scrape' allowed_domains = ['xueqiu.com'] def start_requests(self):m = hashlib.md5()m.update(b'your password') # 在這里填入你的密碼password = m.hexdigest().upper()form_data={ 'telephone': 'your account', # 在這里填入你的用戶名 'password': password, 'remember_me': str(), 'areacode': '86',}print(form_data)return [FormRequest( url='https://xueqiu.com/snowman/login', formdata=form_data, meta={'cookiejar': 1}, callback=self.loged_in )] def loged_in(self, response):# print(response.url)return [Request( url='https://xueqiu.com/stock/f10/finmainindex.json?symbol=SZ000001&page=1&size=1', meta={'cookiejar': response.meta['cookiejar']}, callback=self.get_result, )] def get_result(self, response):print(response.body)

另外,網站確實對User-Agent進行了驗證,可以在settings.py中進行設置,當然自己寫在爬蟲文件里也可以。密碼是MD5加密后的字符串。哦對,補充一點,因為我是用手機注冊的,所以form_data是這些字段,如果你是其他方式,只需要用Chrome工具看一下POST請求有哪些參數,自己修改一下form_data的內容就行了。

回答2:

哈哈,謝謝咯,解決了幾天的困惑。之前也通過request來做不需要登錄,貼下代碼,

session = requests.Session()session.headers = { ’User-Agent’: ’Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36’}session.get(’https://xueqiu.com’)for page in range(1,100): url = ’https://xueqiu.com/stock/f10/finmainindex.json?symbol=SZ000001&page=%s&size=1’ % page print url r = session.get(url)#print r.json().list a = r.text

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 成人免费网站久久久 | 欧洲色综合 | 国产性精品 | 欧美一级视频免费观看 | 亚洲精品美女在线观看播放 | 尤物精品在线观看 | 国产精品区一区二区免费 | 国产高清免费在线观看 | 亚洲美女爱做色禁图无遮 | 成人在线播放视频 | 精品国产福利第一区二区三区 | 国产免费无遮挡精品视频 | 婷婷丁香六月天 | 国产免费三a在线 | 欧美日韩亚洲m码色帝国 | 免费高清资源黄网站在线观看 | 婷婷草| 亚洲欧洲一二三区机械有限公司 | 中文字幕一区二区三区在线不卡 | 精品欧美成人bd高清在线观看 | 国产真实乱人视频 | 色综合综合色综合色综合 | 免费看黄色网页 | 青青青国产精品国产精品美女 | 日韩在线观看中文字幕 | 成人在线不卡视频 | 97视频免费播放观看在线视频 | 哪个网站能看毛片 | 国产欧美一区二区成人影院 | 在线观看黄 | 国产自线一二三四2021 | 99精品视频不卡在线观看免费 | 日本免费高清一区 | 青青草国产青春综合久久 | 亚洲成网站www久久九 | 亚洲国产成人久久综合一区 | 久久久久亚洲精品一区二区三区 | 日韩视频不卡 | 亚洲综合精品成人 | 8x永久免费观看成人影院 | 一区两区三不卡 |