当前位置: 首页 > news >正文

网站开发商b站视频推广

网站开发商,b站视频推广,哪里可以做网站,买目录做网站想用程序去抓取一个网页的内容,Delphi 有自己的 HTTP 库。比如 Indy 的 TIdHTTP,或者 TNetHTTPClient。 这里测试一下使用 Python 的 HTTP 库抓取网页,然后把抓取的内容给 Delphi 的程序。 Delphi 程序,界面上拖控件如下&#x…

想用程序去抓取一个网页的内容,Delphi 有自己的 HTTP 库。比如 Indy 的 TIdHTTP,或者 TNetHTTPClient。

这里测试一下使用 Python 的 HTTP 库抓取网页,然后把抓取的内容给 Delphi 的程序。

Delphi 程序,界面上拖控件如下:

    Panel1: TPanel;Button1: TButton;PageControl1: TPageControl;TabSheet1: TTabSheet;TabSheet2: TTabSheet;Memo1: TMemo;Splitter1: TSplitter;Memo2: TMemo;PythonEngine1: TPythonEngine;PythonDelphiVar1: TPythonDelphiVar;EdgeBrowser1: TEdgeBrowser;Button2: TButton;PythonGUIInputOutput1: TPythonGUIInputOutput;
上述控件的主要设置:

1. PythonEngine1.IO := PythonGUIInputOutput1;

2. PythonGUIInputOutput1.Output := Memo1;  //用 Memo1 来显示 Python 代码打印出来的网页内容。

3. PythonDelphiVar1.Engine := PythonEngine1;

4. PythonDelphiVar1.VarName := 'MyHTML'; //这个变量名称,会在 Python 代码里面使用。

5. 在 Memo2.Lines 里面放 Python 代码。

6. EdgeBrowser1 用于显示由 Python 抓回来的页面内容。

Delphi 的主要代码如下:
procedure TForm3.Button1Click(Sender: TObject);
vari: Integer;
beginEdgeBrowser1.Navigate('D:\test.html');//循环等待 EdgeBrowser1 打开完成。否则当 Python 抓取到页面后写入 EdgeBrowser 会失败。i := 0;while True dobeginSleep(100);Inc(i);Application.ProcessMessages;if i > 10 then Break;end;PythonEngine1.ExecStrings(Memo2.Lines);
end;procedure TForm3.Button2Click(Sender: TObject);
varS: string;
begin
//  S := '<html><head></head><body>abc 12333 <p> hello world!!!</body></html>';S := VarToStr(PythonDelphiVar1.Value);ShowHTML(S);
end;procedure TForm3.PythonDelphiVar1SetData(Sender: TObject; Data: Variant);
varS: string;
begin//ShowMessage('写页面');S :=  VarToStr(Data);ShowHTML(S);
end;procedure TForm3.ShowHTML(const S: string);
begin
{--------------------------------------------------------------------------使用 EdgeBrowse 必须:1. 当前目录下有 WebView2Loader.dll2. 必须先 Navigate 打开后,才能 NavigateToString
--------------------------------------------------------------------------}EdgeBrowser1.NavigateToString(s);end;

Python 代码如下:

import http.client# 页面的路径:blog.csdn.net/pcplayerconn = http.client.HTTPSConnection("blog.csdn.net")  # 工作正常,这里只能填写站点名称。子路径在 request 里面填写。conn.request("GET", "/pcplayer")
response = conn.getresponse()
print(response.status, response.reason)
data = response.read()
print(data.decode())  # 这里是输出的网页内容# MyHTML 是 Delphi 的控件对应的变量,它被赋值时会在 Delphi 代码里触发 OnSetData 事件。
# Delphi 程序在这个 OnSetData 事件里面拿到页面内容,写到浏览器里面去,让浏览器显示。
MyHTML.value = data.decode()# print 把页面内容输出,这个输出在 Delphi 程序里面会显示到 Memo1 里面。
print(response.url)
conn.close()

简单解释:

1. Delphi 程序里面的 EdgeBrowser 加载一个 test.html 页面。加载这个页面是为了打开这个 Browser 方便后继写入抓取的页面内容。

2. PythonEngine1 执行 Memo2 里面的 Python 代码;

3. PythonGUIInputOutput1 将 Python 代码执行后的 print 语句的内容输出到 Memo1 里面。这里是程序抓取到的网页内容。

4. PythonDelphiVar1 获取到 Python 代码里面的 MyHTML.Value 的值,也就是页面内容。并将这个内容写入 EdgeBrowser 浏览器显示。

运行效果图

上面这个图显示了 Memo1 里面呈现的网页内容

下面这个图显示了抓取的网页用浏览器显示的样子

总结:

在 Delphi 里面通过使用 Python4Delphi 控件,可以在 Delphi 程序里面调用 Python 的代码去执行 HTTP 访问。

http://www.yidumall.com/news/575.html

相关文章:

  • 农业做的好的网站重庆整站seo
  • 青岛贸易公司 网站制作上海网上推广
  • 武汉响应式网站建设百度收录方法
  • 北京高端网站建设入门东莞最新消息今天
  • 中国对外贸易公司排名seo经理
  • wordpress feedsky福州百度网站快速优化
  • wordpress特别版seo综合查询工具可以查看哪些数据
  • 大学生怎么做网站支付模块推广赚钱软件
  • 黑糖不苦还做网站么安卓排名优化
  • 瓯北网站制作产品推广运营的公司
  • 百度做地图的网站百度一对一解答
  • 信息系统项目管理高级孝感seo
  • 如何进行网站检查整站优化seo
  • 公司网站建设方案详细方案武汉关键词seo
  • 网站分成几种类型nba排行榜最新排名
  • 网站设计有限公司是干嘛的搜狐财经峰会直播
  • 长沙做网站的公司自己做网站
  • 跳转网站正在建设中网站在线生成app
  • 东莞建站模板代理友情链接查询工具
  • wordpress poetryseo推广公司
  • 邢台专业网站建设费用微信引流用什么软件好用
  • 长安公司网站制作搜索引擎优化排名
  • 毕业论文网站建设过程推广软文是什么
  • 成都网站建设 3e网站建设营销策略包括哪些内容
  • 专门做代工产品的网站交换链接网站
  • 驾校网站建设方案游戏特效培训机构排名
  • 网站手机模板和pc模板要分开做360优化大师官网
  • 广州网站优化公司1个百度指数代表多少搜索
  • 网站建设工具品牌网络营销评价的名词解释
  • 鄂州商城网站建设如何网站seo