Foxtable(狐表)用户栏目专家坐堂 → 关于提取网页内容的问题


  共有2481人关注过本帖树形打印复制链接

主题:关于提取网页内容的问题

帅哥哟,离线,有人找我吗?
ap9709130
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
关于提取网页内容的问题  发帖心情 Post By:2017/12/7 21:29:00 [只看该作者]

老师,我代码如下:

Dim web As new System.Windows.Forms.WebBrowser
Dim web1 As New System.Windows.Forms.WebBrowser
web.Navigate("http://125.35.6.84:81/xk")
Do Until web.ReadyState = 4 AndAlso web.Document.GetElementById("gzlist").GetElementsByTagName("li").count > 0
    Application.DoEvents
Loop
For Each dl As object In web.Document.GetElementById("gzlist").GetElementsByTagName("li")
Output.show(dl.GetElementsByTagName("i")(0).innerText)
next

怎么会报错啊?要怎么写?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/7 21:48:00 [只看该作者]

Dim web As new System.Windows.Forms.WebBrowser
Dim web1 As New System.Windows.Forms.WebBrowser
web.Navigate("http://125.35.6.84:81/xk")
Do Until web.ReadyState = 4 AndAlso web.Document.GetElementById("gzlist").GetElementsByTagName("li").count > 1
    Application.DoEvents
Loop
For Each dl As object In web.Document.GetElementById("gzlist").GetElementsByTagName("li")
    'If dl.GetElementsByTagName("i").count > 0 Then
        Output.show(dl.GetElementsByTagName("i")(0).innerText)
    'End If
Next

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/7 21:53:00 [只看该作者]

也可以这样获取

 

Dim body As String = "on=true&page=1&pageSize=15&productName=&conditionType=1&applyname=&applysn="
Dim req = System.Net.WebRequest.Create("http://125.35.6.84:81/xk/itownet/portalAction.do?method=getXkzsList")
req.Method = "POST"
req.ContentType = "application/x-www-form-urlencoded"
req.UserAgent = "Mozilla/5.0 (Windows NT 6.3; rv:57.0) Gecko/20100101 Firefox/57.0"
Dim aryBuf As Byte() = Encoding.UTF8.GetBytes(body)
req.ContentLength = aryBuf.Length
Dim writer = req.GetRequestStream()
writer.Write(aryBuf, 0, aryBuf.Length)
writer.Close()
writer.Dispose()
Dim pos = req.GetResponse

Dim stm As System.IO.Stream = pos.GetResponseStream()
Dim reader As New System.IO.StreamReader(stm)
Dim str As String = reader.ReadToEnd
pos.Close
stm.Close
reader.close

msgbox(str)
Dim jo As JObject = Jobject.Parse(str)
msgbox(jo.ToString)

[此贴子已经被作者于2017/12/7 21:54:58编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/12/7 22:24:00 [只看该作者]

多谢老师,

如果想把企业名称 的herf 用后面获取,body = ? 和 req = ? 要怎么写?

 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/12/7 22:27:00 [只看该作者]

body 和 req 的写法在网页的什么地方能看到?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/7 22:38:00 [只看该作者]

下载一个 chrome 或者 firefox,然后参考下面

 

 


图片点击可在新窗口打开查看此主题相关图片如下:123.gif
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/12/7 22:38:59编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/12/7 22:45:00 [只看该作者]

老师,我chrome,但不是这样的.

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/7 22:47:00 [只看该作者]

 6楼的是firefox的,chrome同样,只是界面不同而已,功能都有的。

 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/12/7 22:48:00 [只看该作者]

老师,能帮我把 那个id 的写给我吗?今晚赶着要做些事?

 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/12/7 22:48:00 [只看该作者]

就是点击企业名称,得到相关的数据.我不会写body 和 req .

 回到顶部
总数 12 1 2 下一页