java爬虫抓取网页数据(就用find_find)
优采云 发布时间: 2022-04-06 15:17java爬虫抓取网页数据(就用find_find)
每个div都会有一个h2,里面有一个a,a里面收录我们想要的title名称。所以我们使用find_all来查找所有这样的div标签,将它们存储为一个列表,然后循环遍历列表,为每个元素提取h2a,然后提取标签的内容。
当然我们也可以找到_all最外层的li标签,然后逐层查找,都是一样的。只需找到定位信息的唯一标识符(标签或属性)即可。
虽然看这里的源码可以折叠一些无用的代码,但其实还有一些更好的工具可以帮助我们在网页的源码中找到我们想要的信息的位置。例如,下面的鼠标符号。
当所有代码折叠后,点击鼠标,然后点击网页中的元素,浏览器会自动为你选择你点击的元素。事实上,当你将鼠标悬停在一个元素上时,它已经帮你定位到它了,如下图所示
总结
当我们要爬取一个网页时,只需要下面的过程
现在,我们可以处理一些网站,无需任何反爬措施。至于如何组织多个字段的数据,如何设计爬取多个页面的代码(在常规URL的情况下),不是爬虫知识的范畴,可以用python的基础知识来解决。文章 的下一个系列将重点介绍这部分。接下来给几个目前可以练手的网站
如果您在使用 BeautifulSoup 的定位过程中遇到困难,可以直接在网上搜索教程,也可以等待本主题后面更新的 BeautifulSoup 详细介绍。
如果你去爬其他的网站,最好检查一下r.text是否和网站的源码一模一样,如果不是,说明你的其他服务器做了不给你真实信息,说明他可能看出你是爬虫(做网页请求时,浏览器和requests.get相当于拿着一堆资质证书敲门,对方会查你的资质证书,而浏览器的资质证书一般是可以通过的,但是代码的资质证书可能不合格,因为代码的资质证书可能有一些比较固定的特性,这就是反爬机制)。这时候就需要了解一些反反爬的措施,才能获取真实的信息。