我们尝试让ChatGPT用Python写一个简单的网页爬虫(见图3-8)。
图3-8 ChatGPT编写的网页爬虫示例
由图3-8可知,ChatGPT已经写出了一个爬虫的经典例子。值得注意的是,图3-8中的URL为虚构链接,并不能访问,但是基本框架是正确的。上述程序使用了BeautifulSoup,我们将在第5章中学习。
我们尝试让ChatGPT使用Lxml分析如下网页:https://guba.eastmoney.com/news,300014,1323887506.html。我们能够得到如下代码。
上述代码提取的title和content的xpath是不正确的,我们需要在浏览器中“检查”然后“复制XPATH”,例如针对title,我们得到://*[@]/div[2]/div[1]这个节点,然后/text()获取该节点对应的文本。将上述代码的title和content进行修改,如下所示。
[@]/div[2]/div[1]/text()的含义如下所示。
· //:选择文档中匹配模式的节点,不考虑其位置。
· *:匹配任意节点名称。
· [@]:选择具有属性id值为"newscontent"的节点。
· /:选择当前节点的直接子节点。
· div[2]:选择当前节点下的第二个div子节点。
· div[1]:选择当前节点下的第一个div子节点。
· /text():选择当前节点的文本内容。
我们目前使用的ChatGPT并不具备自动访问网页、分析网页内容以及执行网络爬虫的功能。后续,我们可以尝试使用更多ChatGPT插件来实现使用Lxml库或其他HTML解析库来处理网页内容和执行XPath提取的功能。