如何做一个完整的网站数据获取,并写入到sqlite数据库
本帖最后由 nangua111111 于 2013-3-20 22:24 编辑菜鸟,看了教材但是不懂,各位高手帮忙一下,以便我们这种菜鸟能完整的学习一下。#include <ie.au3>
#include <array.au3>
$oIE1=_IECreate("http://xlinesoft.com/livedemo/shopcart/admin/login.php");1、建立网页衔接
$oIE = _IEAttach("http://xlinesoft.com/livedemo/shopcart/admin/login.php","url")
$Ele1 = _IEGetObjByName($oIE,"username") ;注意相同name情况,需要第三参数
_IEFormElementSetValue($Ele1,"admin@test.com")
$Ele2 = _IEGetObjByName($oIE,"password") ;注意相同name情况,需要第三参数
_IEFormElementSetValue($Ele2,"admin")
_IELinkClickByText($oIE,"Submit")
;;;;;;;;;以上登陆界面;;;;;;;
_IELinkClickByText($oIE,"States")
$Ele3=_IEAttach("http://xlinesoft.com/livedemo/shopcart/admin/shopstates_list.php","Embedded")
$oIEstates=_IEBodyReadHTML($Ele3);获取代码
MsgBox(0,"",$oIEstates)
;正则表达式获取表格数据
Local $Test
$Test = StringRegExp($oIEstates, '<span id="edit.+_State_name" >(.+)', 3)
_ArrayDisplay($Test, UBound($Test))后续还在研究。{:face (319):}需要获取表格数据如图片
持续更新研究中
用帮助没有问题,但是显示不了 虽然不明白,帮你顶下吧~
坐等高手~ 帮你顶下吧~ 帮顶,顺便学习 菜鸟们一起来解决吧{:face (356):} 写入数据库这块我也想学,读数据我也经常在做,我一般是读网页上的表
#include <Array.au3>
#include <ie.au3>
#include <array.au3>
$oIE=_IEAttach("http://xlinesoft.com/livedemo/shopcart/admin/shopstates_list.php","URL")
$oTable=_IETableGetCollection ($oIE ,10)
$array=_IETableWriteToArray($oTable)
_ArrayDisplay($array,'Debug~~~') 本帖最后由 nangua111111 于 2013-3-20 19:47 编辑
#include <Array.au3>
#include <array.au3>
#AutoIt3Wrapper_run_debug_mode=Y
$oIE1=_IECreate("http://xlinesoft.com/livedemo/shopcart/admin/login.php");1、建立网页衔接
;$oIE = _IEAttach("http://xlinesoft.com/livedemo/shopcart/admin/login.php")
$Ele1 = _IEGetObjByName($oIE1,"username") ;注意相同name情况,需要第三参数
_IEFormElementSetValue($Ele1,"admin@test.com")
$Ele2 = _IEGetObjByName($oIE1,"password") ;注意相同name情况,需要第三参数
_IEFormElementSetValue($Ele2,"admin")
_IELinkClickByText($oIE1,"Submit")
;;;;;;;;;以上登陆界面;;;;;;;
_IELinkClickByText($oIE1,"States")
;;进入表格页面
$oIE=_IEAttach("http://xlinesoft.com/livedemo/shopcart/admin/shopstates_list.php","URL")
$oTable=_IETableGetCollection ($oIE ,10);获取页面里面的第十张表格
$array=_IETableWriteToArray($oTable,true);将表格内容转换成数组,并行列对换。
_ArrayDisplay($array,'Debug~~~')感谢 shqf
接下来是怎么把数组写入sqlite 流程,继续摸索{:face (270):}
本帖最后由 nangua111111 于 2013-3-21 10:22 编辑
#include <ie.au3>
#include <Array.au3>
#include <SQLite.au3>
#include <SQLite.dll.au3>
#AutoIt3Wrapper_run_debug_mode=Y
$oIE1=_IECreate("http://xlinesoft.com/livedemo/shopcart/admin/login.php");1、建立网页衔接
;$oIE = _IEAttach("http://xlinesoft.com/livedemo/shopcart/admin/login.php")
$Ele1 = _IEGetObjByName($oIE1,"username") ;注意相同name情况,需要第三参数
_IEFormElementSetValue($Ele1,"admin@test.com")
$Ele2 = _IEGetObjByName($oIE1,"password") ;注意相同name情况,需要第三参数
_IEFormElementSetValue($Ele2,"admin")
_IELinkClickByText($oIE1,"Submit")
;;;;;;;;;以上登陆界面;;;;;;;
_IELinkClickByText($oIE1,"States")
$oIEstates=_IEBodyReadHTML($oIE1);获取代码
;MsgBox(0,"",$oIEstates)
;正则表达式获取表格数据
;$open = FileOpen("test.txt",1)
$oIE=_IEAttach("http://xlinesoft.com/livedemo/shopcart/admin/shopstates_list.php","URL")
$oTable=_IETableGetCollection ($oIE ,10)
$array=_IETableWriteToArray($oTable,true)
_ArrayDisplay($array,'Debug~~~')
;sqlite语句
_SQLite_Startup ()
If @error Then
MsgBox(16, "SQLite Error", "SQLite.dll Can't be Loaded!")
Exit - 1
EndIf
_SQLite_Open(@ScriptDir & "\Database.db") ; 建立打开数据库
If @error Then
MsgBox(16, "SQLite Error", "Can't Load Database!")
Exit - 1
EndIf
_SQLite_Exec (-1, "CREATE TABLE Radio ('"&$array&"','"&$array&"','"&$array&"');");建立表,注意'"&$array[$i]&"'表达式
For $i=2 to 21 Step +1
_SQLite_Exec (-1, "INSERT INTO Radio VALUES ('"&$array[$i]&"','"&$array[$i]&"','"&$array[$i]&"');");写入数组,注意'"&$array[$i]&"'表达式
next
_SQLite_Close ()
_SQLite_Shutdown ()
下一步学习怎么用正则获取,一直解决不了希望高手帮忙 回复 8# nangua111111
好像数据没有取全啊? 回复 10# nangua111111
可以用Post/Get获取网页代码,然后正则提取数据 回复 12# xms77
谢谢,我再试试看 还在练习 查询和显示语句{:face (356):},sqlite好像对中文支持不好啊。
大家能帮忙说一下注意点吗? 哦也,扒站啊
linux下curl或者wget 效率比较高
页:
[1]
2