Betreff: An welcher URL Sie sich anmelden müssen und wie Sie Cookies erhalten und Daten über die JSL-Anmeldung herunterladen können.Ich bin kein VB-Benutzer, aber es scheint, als sollte es in JMP mit 3 newHttpRequests funktionieren.
Die drei Abschnitte im VB-Code enden mit einem „.send“.
Der erste Abschnitt führt zu einer Anmeldeseite. Ich bin mir nicht sicher, warum das notwendig sein könnte ... es gibt Ihnen das Cookie nicht, aber es könnte erforderlich sein, es zuerst zu besuchen.
Der zweite Abschnitt sendet die post_data an eine URL, die Ihnen ein Cookie gibt, das bedeutet, dass Sie angemeldet sind.
Die httprequest von JMP kann diese Daten für Sie beibehalten. Oder Sie müssen httprequest anweisen, es in eine Datei zu schreiben und es dann aus der Datei zu holen.
(2) erhält den Wert des Cookies von einer Art VB-Struktur.
Der dritte Abschnitt verwendet die URL, um einige Daten abzurufen, und liefert das Cookie als Ihre Anmeldeinformationen. JMP kann das für Sie tun.
// get a cookie
try(deletefile("$temp/cookie.txt"));
s = New HTTP Request(
URL( "http://httpbin.org/cookies/set/aaa/bbb" ),
Method( "GET" ),
Headers( {"Accept: application/json", "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:99.0) Gecko/20100101 Firefox/99.0"} ),
cookiefile("$temp/cookie.txt")
);
data = s << Send;
show(loadtextfile("$temp/cookie.txt"));
// send a cookie
s = New HTTP Request(
URL( "http://httpbin.org/cookies" ),
Method( "GET" ),
Headers( {
"Accept: application/json",
"Cookie: PHPSESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1",
"User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:99.0) Gecko/20100101 Firefox/99.0"
} )
);
data = s << Send;
Show( data ); // note the aaa cookie was persisted
Betreff: An welcher URL Sie sich anmelden müssen und wie Sie Cookies erhalten und Daten über die JSL-Anmeldung herunterladen können.
Ich habe es viele Male versucht, aber es gibt keine Möglichkeit, sich direkt einzuloggen und die vollständigen Daten herunterzuladen.
Ich habe einen Python-Code im Internet gefunden, aber es hat immer noch nicht funktioniert.

Betreff: An welcher URL Sie sich anmelden müssen und wie Sie Cookies erhalten und Daten über die JSL-Anmeldung herunterladen können.class AllcontentSpider(scrapy.Spider):
name = 'allcontent'
headers = {
'Host': 'www.jisilu.cn', 'Connection': 'keep-alive', 'Pragma': 'no-cache',
'Cache-Control': 'no-cache', 'Accept': 'application/json,text/javascript,*/*;q=0.01',
'Origin': 'https://www.jisilu.cn', 'X-Requested-With': 'XMLHttpRequest',
'User-Agent': 'Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/67.0.3396.99Safari/537.36',
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
'Referer': 'https://www.jisilu.cn/login/',
'Accept-Encoding': 'gzip,deflate,br',
'Accept-Language': 'zh,en;q=0.9,en-US;q=0.8'
}
def start_requests(self):
login_url = 'https://www.jisilu.cn/login/'
headers = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept-Encoding': 'gzip,deflate,br', 'Accept-Language': 'zh,en;q=0.9,en-US;q=0.8',
'Cache-Control': 'no-cache', 'Connection': 'keep-alive',
'Host': 'www.jisilu.cn', 'Pragma': 'no-cache', 'Referer': 'https://www.jisilu.cn/',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/67.0.3396.99Safari/537.36'}
yield Request(url=login_url, headers=headers, callback=self.login,dont_filter=True)
def login(self, response):
url = 'https://www.jisilu.cn/account/ajax/login_process/'
data = {
'return_url': 'https://www.jisilu.cn/',
'user_name': config.username,
'password': config.password,
'net_auto_login': '1',
'_post_type': 'ajax',
}
yield FormRequest(
url=url,
headers=self.headers,
formdata=data,
callback=self.parse,
dont_filter=True
)
def parse(self, response):
for i in range(1,3726):
focus_url = 'https://www.jisilu.cn/home/explore/sort_type-new__day-0__page-{}'.format(i)
yield Request(url=focus_url, headers=self.headers, callback=self.parse_page,dont_filter=True)
def parse_page(self, response):
nodes = response.xpath('//div[@class="aw-question-list"]/div')
for node in nodes:
each_url=node.xpath('.//h4/a/@href').extract_first()
yield Request(url=each_url,headers=self.headers,callback=self.parse_item,dont_filter=True)
def parse_item(self,response):
item = JslItem()
title = response.xpath('//div[@class="aw-mod-head"]/h1/text()').extract_first()
s = response.xpath('//div[@class="aw-question-detail-txt markitup-box"]').xpath('string(.)').extract_first()
ret = re.findall('(.*?)\.donate_user_avatar', s, re.S)Betreff: An welcher URL Sie sich anmelden müssen und wie Sie Cookies erhalten und Daten über die JSL-Anmeldung herunterladen können.Dies würde den Rahmen dieses Forums sprengen. Vielleicht bietet die Website eine API für das, was Sie tun möchten.
Ich denke, die Website verwendet Javascript, um zu überprüfen, ob Sie ordnungsgemäß angemeldet sind.JMP führt das Javascript nicht aus.
Das Captcha kann Teil des Problems sein und eine menschliche Interaktion erfordern.
Wenn der Benutzername oder das Passwort Sonderzeichen enthalten, muss es irgendwie verschlüsselt werden.
Der Fehlercode 413 könnte bedeuten, dass etwas anderes nicht stimmt.
Betreff: An welcher URL Sie sich anmelden müssen und wie Sie Cookies erhalten und Daten über die JSL-Anmeldung herunterladen können.Bitte entschuldigen Sie meine Hartnäckigkeit.
Ich versuche dieses Thema weiter.
Es wurde festgestellt, dass sich diese Methode über ein Skript anmelden kann, und es gibt keine Eingabeaufforderung für einen Anmeldefehler.
Aber ich werde noch nicht analysieren, was drin ist.
Vielen Dank!

Betreff: An welcher URL Sie sich anmelden müssen und wie Sie Cookies erhalten und Daten über die JSL-Anmeldung herunterladen können.
Char To Blob( "~1F~8B~08~00~00~00~00~00~00~03~ABVJ~CEOIU~B2214~D6Q~CA-NW~B2Rz~BEg~D7~D3~0D~13~9FOY~F1~ACc~FB~D3~09~BD~CF:~A6=~ED_~FCd~F7~12%~1D~A5~94~C4~92D%~ABj~A5~E4~C4~82~92~E4~0C 3~AF4'~A7~B6~16~00x&~D1~03E~00~00~00", "ascii~hex" )
Betreff: An welcher URL Sie sich anmelden müssen und wie Sie Cookies erhalten und Daten über die JSL-Anmeldung herunterladen können.
kbz_newcookie=1; kbzw__user_login=7Obd08_P1ebax9aXwZKsmLCuprCTpYKvpuXK7N_u0ejF1dSeq8WhwtappqDaotqYq8TYqNStwtSapKusy6rNp8euxa-YrqXW2cXS1qCasZypl6iZmLKgzaLOvp_G5OPi2OPDpZalp5OguNnP2Ojs3Jm6y4Ksj6iyk8-wx5eoopWq6dzjx83G2cLc7JCllKunqJ-ZlMKqyq7Do5PkytvGlMDazOTboIK5yenm4N2Qp5miqaOcspyrkKeRr5fG2cfR092oqpywmqqY; kbzw__Session=mnijj070u2h083ms7ouuah9b22; Hm_lvt_164fe01b1433a19b507595a43bf58262=1652962728,1652966374,1653359409,1653375276; Hm_lpvt_164fe01b1433a19b507595a43bf58262=1653375282
Betreff: An welcher URL Sie sich anmelden müssen und wie Sie Cookies erhalten und Daten über die JSL-Anmeldung herunterladen können.Ja, ich denke, die Website ist für einen Teil ihrer Sicherheit auf JavaScript angewiesen. Ich denke, Sie sollten sich den anderen Blog-Beitrag zur Verwendung von Selen ansehen. Auf diese Weise können Sie einen vorhandenen Browser skripten, der von jmp aus funktioniert.Betreff: An welcher URL Sie sich anmelden müssen und wie Sie Cookies erhalten und Daten über die JSL-Anmeldung herunterladen können.Danke Craige!
Aha. Das war's.
Leider habe ich Python nicht auf meinem Computer installiert und habe Python seit USING JMP nicht mehr installiert.
Allein anhand dieses Beispiels scheint es, dass VBA einfacher als Python ist, um Cookies für Webseiten zu erhalten, die angemeldet werden müssen.

Betreff: An welcher URL Sie sich anmelden müssen und wie Sie Cookies erhalten und Daten über die JSL-Anmeldung herunterladen können.Und wenn Sie es sich trotzdem ansehen möchten, 1F8B ist die gzip-Signatur (weil Accept-Encoding unter anderem gzip sagte.) Sie könnten es verwenden
blob=Char To Blob( "~1F~8B~08~00~00~00~00~00~00~03~ABVJ~CEOIU~B2214~D6Q~CA-NW~B2Rz~BEg~D7~D3~0D~13~9FOY~F1~ACc~FB~D3~09~BD~CF:~A6=~ED_~FCd~F7~12%~1D~A5~94~C4~92D%~ABj~A5~E4~C4~82~92~E4~0C 3~AF4'~A7~B6~16~00x&~D1~03E~00~00~00", "ascii~hex" );
write(blobtochar(Gzip Uncompress(blob)))
{"code":413,"msg":"缺少用户名或口令","data":{"captcha":null}}
Google Übersetzer: " Fehlender Benutzername oder Passwort "
Aber ich denke wirklich, dass die Verwendung von Selen eine bessere Antwort sein könnte. Browser-Scripting mit Python Selenium zeigt, wie man sich per Skript anmeldet und durch einige Daten blättert und sie in eine Datentabelle lädt.
Betreff: An welcher URL Sie sich anmelden müssen und wie Sie Cookies erhalten und Daten über die JSL-Anmeldung herunterladen können.Es funktioniert nicht:
<BR />s = New HTTP Request( URL( "https://www.jisilu.cn/login" ), Method( "get" ) );
data = s << Send;
username = "lala";
password = "jmp";
jj = "return_url=http://www.jisilu.cn/&user_name=" || username || "&password=" || password || "&net_auto_login=1&_post_type=ajax";
h = [=> ];
h["Content-Type"] = "application/json";
h["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36";
h["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8";
s = New HTTP Request( URL( "https://www.jisilu.cn/webapi/account/login_process/" ), Method( "POST" ), JSON( jj ), Headers( h ) );
data1 = s << Send;
Betreff: An welcher URL Sie sich anmelden müssen und wie Sie Cookies erhalten und Daten über die JSL-Anmeldung herunterladen können.Was hat es getan? Irgendwas im Log-Fenster?
Anzeigen (Daten);
Show(s<
Show(s<
Show(s<
Show(s<
Wenn Sie Python-Code haben, der funktioniert, warum verwenden Sie ihn nicht?
Verwenden Sie den Python-Code, um eine CSV-Datei zu erstellen, und importieren Sie diese in JMP.
Sie können es von JMP aus aufrufen, entweder mit der Python-Schnittstelle oder mit RunProgram.
Dasselbe gilt für ein VB-Programm, um eine CSV-Datei zu erstellen und zu importieren.
Betreff: An welcher URL Sie sich anmelden müssen und wie Sie Cookies erhalten und Daten über die JSL-Anmeldung herunterladen können.
Betreff: An welcher URL Sie sich anmelden müssen und wie Sie Cookies erhalten und Daten über die JSL-Anmeldung herunterladen können.Browser-Scripting mit Python Selenium
Wird nicht einfach, aber es ist möglich. Bis Sie ein Captcha erhalten, das gelöst werden muss.
Mit welcher URL Sie sich anmelden müssen und wie Sie über die JSL-Anmeldung Cookies erhalten und Daten herunterladen können.Hallo an alle!
Diese Website benötigt Cookies, um die vollständigen Daten herunterzuladen. Wie erhalte ich Cookies und lade Daten über die JSL-Anmeldung herunter?
Danke!
VBA
Sub Post()
Dim User_agent, Response_Text, username, password, cookie, json
username = [d1]: password = [f1]
User_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36"
Post_data = "return_url=https%3A%2F%2Fwww.jisilu.cn%2Fdata%2Fcbnew%2F&user_name=" & jslencode(username) & "&password=" & jslencode(password) & "&aes=1&auto_login=0"
With CreateObject("WinHttp.WinHttpRequest.5.1")
.Open "get", "https://www.jisilu.cn/login/", False
.setrequestheader "User-Agent", User_agent
.send
.Open "post", "https://www.jisilu.cn/webapi/account/login_process/", False
.setrequestheader "User-Agent", User_agent
.setrequestheader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
.send (Post_data)
cookie = Split(.getallresponseheaders, "Set-Cookie: ")(2)
.Open "get", "https://www.jisilu.cn/data/cbnew/detail_hist/" & ([b1] & ""), False
.setrequestheader "User-Agent", User_agent
.setrequestheader "cookie", cookie
.send "fprice=&tprice=&curr_iss_amt=&volume=&svolume=&premium_rt=&ytm_rt=&rating_cd=&is_search=N&market_cd%5B%5D=shmb&market_cd%5B%5D=shkc&market_cd%5B%5D=szmb&market_cd%5B%5D=szcy&btype=&listed=Y&qflag=N&sw_cd=&bond_ids=&rp=50&page=1"
Response_Text = .responsetext
Set json = JsonConverter.ParseJson(Response_Text)
End With
End SubAutomatisierung und SkripterstellungQualitäts- und VerfahrenstechnikWindows