前言:
现在小伙伴们对“python如何抓取网页里面的文字”大约比较关怀,咱们都想要知道一些“python如何抓取网页里面的文字”的相关知识。那么小编在网摘上搜集了一些关于“python如何抓取网页里面的文字””的相关内容,希望朋友们能喜欢,我们一起来了解一下吧!上一篇我说到了如何用EXCEL抓取网页中的多页表格,上一篇链接:爬虫何必用Python,用EXCEL爬取网页上的多页表格,但有些同学会说我不想抓取表格并且我不想用EXCEL工具栏上来自网站那种粗暴的点选方式,我就想像python一样优雅的抓取网页上的信息怎么办?答案当然是可以的。下面我就教大家如何用EXCEL VBA 抓取网页上的信息。
这次的抓取目标就选有道词典的首页吧(我是随便选的) 链接: 上的在此输入要翻译的单词或文字 这几个字。虽然简单,但读者可自行扩展O(∩_∩)O~
在EXCEL VB编辑器中插入模块,并填写自定义函数代码
2.代码如下
Public Function GetHtmlElementByRegex(url As String, reg As String)
Dim XMLHTTP As Object, html As Object, objResult As Object
Set XMLHTTP = CreateObject("MSXML2.serverXMLHTTP")
XMLHTTP.Open "GET", url, False
XMLHTTP.setRequestHeader "Content-Type", "text/xml"
XMLHTTP.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0"
XMLHTTP.send
Set html = CreateObject("htmlfile")
html.body.innerHTML = XMLHTTP.responseText
Set regEx = CreateObject("VBScript.RegExp")
regEx.Pattern = reg
regEx.Global = True
If regEx.Test(XMLHTTP.responseText) Then
Set matches = regEx.Execute(XMLHTTP.responseText)
GetHtmlElementByRegex = matches(0).SubMatches(0)
Exit Function
End If
GetHtmlElementByRegex = ""
End Function
3.在EXCEL单元格中输入自定义函数名,函数的两个参数分别是要抓取的网址和正则表达式
4.抓取效果
5.关于正则表达式
我们可以发现“在此输入要翻译的单词或文字”字符串前的placeholder=在网页中是唯一存在,所以我们只要用(.*?)进行替换就可以了placeholder=""(.*?)"">,简单吧^_^
教程到这就结束了,有不正确的地方还望大家多多指教^_^
标签: #python如何抓取网页里面的文字