java抓取网页内容(这是一个利用pycharm简单爬虫分享的工作流程及使用方法)
优采云 发布时间: 2021-10-05 01:21java抓取网页内容(这是一个利用pycharm简单爬虫分享的工作流程及使用方法)
概述:
这是一个在phthon环境下使用pycharm的简单爬虫分享。主要通过爬取豆瓣音乐top250的标题和作者(专辑)来分析爬虫原理
什么是爬虫?
要学会爬行,我们首先要知道什么是爬虫。
网络爬虫(也称为网络蜘蛛、网络机器人,在 FOAF 社区中,更常见的是网络追逐)是按照某些规则自动抓取万维网上信息的程序或脚本。其他不太常用的名称是蚂蚁、自动索引、模拟器或蠕虫。
中文名
网络爬虫
外文名
网络爬虫
昵称
网络蜘蛛
目的
根据需要获取万维网信息
网络爬虫是一种自动提取网页的程序。它从万维网下载网页以供搜索引擎使用。它是搜索引擎的重要组成部分。传统爬虫从一个或多个初始网页的网址开始,获取初始网页上的网址,在网页抓取过程中不断从当前页面中提取新的网址放入队列中,直到某个停止条件系统的满足。聚焦爬虫的工作流程更为复杂。需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接,放入URL队列等待抓取。然后,它会根据一定的搜索策略从队列中选择下一个要抓取的网页的网址,并重复上述过程,直到达到系统的某个条件时停止。另外,爬虫爬过的所有网页都会被系统存储起来,进行一定的分析、过滤、索引,以备以后查询检索;对于专注的爬虫,这个过程中得到的分析结果还是可以对后续的爬虫过程给出反馈和指导的。
准备好工作了:
我们使用的是pycharm,请参考pycharm的安装和使用
使用工具:requests、lxml、xpath
关于requests的使用,可以看其官方文档:
个人认为用lxml解析网页是最快的。关于lxml的使用,可以阅读这个:
xpath 是一种用于在 xml 文档中查找信息的语言。xpath 可用于遍历 xml 文档中的元素和属性。xpath的使用可以参考他的教程:
话不多说,开始我们的爬虫之旅
首先找到我们的目标网址:
可以看到我们想要获取的歌曲的标题和作者(专辑)页面有十页,每页有十行。
所以我们可以使用for循环来获取目标:
然后使用 requests 请求一个网页:
import requests
headers = {"User_Agent": "Mozilla/5.0(compatible; MSIE 5.5; Windows 10)"}
data = requests.get(url, headers=headers).text
使用 lxml 解析网页:
from lxml import etree
s = etree.HTML(data)
然后我们就可以提取我们想要的数据了
最后,将获取到的数据保存在我们想要放置的地方。
至此,我们基本完成了,完整的代码如下:
然后我们来看看我们爬取的结果
总结:
爬虫过程:
1、发起请求