- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试下载用户个人资料中的所有问题和答案,但有一个问题,如果用户有大量问题,我必须单击“显示更多”来展开该列表。如果我尝试下载例如此人的问题和答案:http://ask.fm/UnaRamekic (随机选择),我只会得到那些显示的问题,那些在我单击显示更多后显示的问题不会通过 get 请求检索。如何获取 ICS 或 Indy 组件的所有问题。谢谢。
我的代码:
procedure TForm1.sButton1Click(Sender: TObject);
begin
With HttpCli1 do begin
URL := sedit1.Text;
RequestVer := '1.1';
RcvdStream := TMemoryStream.Create;
try
Get;
except
ShowMessage('There has been an error , check your internet connection !');
RcvdStream.Free;
Exit;
end;
RcvdStream.Seek(0,0);
Memo1.Lines.LoadFromStream(RcvdStream);
RcvdStream.Free;
end;
end;
最佳答案
警告:
这种方法很蹩脚而且相当危险。它发布表单数据的方式与“显示更多”按钮类似,但它使用 while 循环(接收所有页面),该循环会重复执行,直到找到响应中的确切常量(在代码中为 LastPageResponse
常量) ),所以当页面的响应内容有时会发生变化并且该常量不会出现在响应中时,您会发现自己陷入了无限循环。
在 GetAllQuestions
函数中,您可以指定:
GetAllQuestions
函数返回基本用户的页面,后跟换行符分隔从基本页面到您指定的时间和页面的所有页面范围内的内容。忘记注意到,您需要以与基本页面不同的方式解析附加内容,因为它不是 HTML 内容。
uses
IdHTTP;
implementation
function GetAllQuestions(const AUser: string; AFromDate: TDateTime;
AStartPage: Integer = 1): string;
var
Response: string;
LastPage: Integer;
TimeString: string;
HTTPClient: TIdHTTP;
Parameters: TStrings;
const
LineBreaks = sLineBreak + sLineBreak;
LastPageResponse = '$("#more-container").hide();';
begin
Result := '';
HTTPClient := TIdHTTP.Create(nil);
try
Result := HTTPClient.Get('http://ask.fm/' + AUser) + LineBreaks;
Parameters := TStringList.Create;
try
LastPage := AStartPage;
TimeString := FormatDateTime('ddd mmm dd hh:nn:ss UTC yyyy', AFromDate);
Parameters.Add('time=' + TimeString);
Parameters.Add('page=' + IntToStr(LastPage));
while LastPage <> -1 do
begin
Parameters[1] := 'page=' + IntToStr(LastPage);
Response := HTTPClient.Post('http://ask.fm/' + AUser + '/more',
Parameters);
if Copy(Response, Length(Response) - Length(LastPageResponse) + 1,
MaxInt) = LastPageResponse
then
LastPage := -1
else
LastPage := LastPage + 1;
Result := Result + Response + LineBreaks;
end;
finally
Parameters.Free;
end;
finally
HTTPClient.Free;
end;
end;
以及用法:
procedure TForm1.Button1Click(Sender: TObject);
begin
try
Memo1.Text := GetAllQuestions('TLama', Now);
except
on E: Exception do
ShowMessage(E.Message);
end;
end;
关于delphi - 如何下载ask.fm特定用户墙源代码以及所有问题和答案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12217170/
我正在从last.fm 获取有关我正在收听的轨道的信息。但是,我无法获取有关我正在录制的内容的信息,就像您在last.fm 页面上看到的那样:“现在从spotify scrobbling” 有谁知道这
我需要获取歌曲的发行日期。 在 last.fm API 中,如文档中所述,足以向服务器发出 HTTP 请求,它将使用包含字段“”的 XML(或 JSON)进行回复(如示例响应中所示在网站上)。 问题是
我正在尝试对音频信号进行频率调制。我可以使用以下方程式y = cos(Fc + sin(Fm))与另一个正弦波(载波)成功调频一个正弦波(载波),但是我不确定如何调频音频信号因为显然我不能使用上述公式
FMDatabase *database = [FMDatabase databaseWithPath:databasePath]; [数据库打开]; FMResultSet *results = n
我有以下一段代码。 REPORT ZZY. CLASS lcl_main DEFINITION FINAL CREATE PRIVATE. PUBLIC SECTION. CLASS-ME
我正在使用 FUNCTION_CREATE 创建 FM 并且一切正常,我正在传递一堆参数并且 FM 已按预期创建。但问题是FM的源代码部分。是否可以使用 FUNCTION_CREATE 创建它,我应该
我找到了这段代码: FUNCTION /FOO/BAR. *"---------------------------------------------------------------------
我已经为音频信号的频率调制编写了以下代码。音频本身为1秒长,以8000 Hz采样。我想通过使用频率为50 Hz(表示为采样频率的一部分)的正弦波将FM应用于此音频信号。调制信号的调制指数为0.25,以
布隆过滤器和哈希草图(也称为 FM 草图)之间有什么区别以及它们的用途是什么? 最佳答案 哈希草图/Flajolet-Martin 草图 Flajolet, P./Martin, G. (1985):
我正在尝试构建用于在线收听调频广播的移动应用程序。任何人都可以帮助我在哪里可以获得有关此类 FM 的流媒体 url 的信息,以便我可以根据我的位置或位置字符串进行搜索。 简单地说我想在特定位置找到所有
我正在尝试在 FM 中使用 findwindow api 调用,我可以在 VCL 应用程序中使用它查找,但不能在 FM 中使用。 这是我的代码 function WindowExists(ti
我想为安卓手机开发一个定制的 FM radio 应用程序,里面有 FM 接收芯片。 通过研究,我发现 FM 接收器通常由 BroadComm 开发。 主要的安卓手机制造商——三星、HTC、索尼爱立信是
我正在尝试录制 FM 广播音频流。我可以使用一个音频源进行录制,即摩托罗拉的 9。 但是当我尝试使用不同的手机时它不起作用。所以我想知道如何动态获取这个音频源。 我是这样记录的 //RX_SRC i
我正在尝试从 Last.fm 获取艺术家图像并将其应用到 ImageView,但没有返回任何图像。我不确定我在这里做错了什么。 private void setLastFmArtistImage()
我有一个音频信号,上面有一种 FM 编码信号。编码信号使用 this Biphase mark coding technique maximuPossibleIndex) break;
我正在尝试使用 C 中的相位累加器实现带反馈的 FM 合成运算符。在 Tomisawa 的 original patent 中,进入加法器的相位累加器对负索引和正索引进行计数,从 -pi 正弦波相位的
我正在尝试使用 Audiolet(合成库,http://en.wikipedia.org/wiki/YM3812)在 JavaScript 中实现 Yamaha YM3812 声音芯片(又名 OPL2
我正在使用 Last.fm API 学习 API。我如何知道此示例代码中指定的日期是什么(chart from="1108296002")? ... 我在这里得到了例子:http:
我是 SAP SD 模块专家,我经常需要调试代码。有时我需要知道哪些节目/FM 地址特定表。我在 SE11 中将 Where used 用于表,它会找到处理该表的类方法。但是当我将 Where use
我正在使用 last.fm JavaScript API ( https://github.com/fxb/javascript-last.fm-api ) 来获取相似的轨道 (track.getSi
我是一名优秀的程序员,十分优秀!