爬虫小白——利用pycharm爬取网页内容

本文介绍了如何在PyCharm环境下编写简单的爬虫,通过requests和lxml库抓取豆瓣音乐Top250的歌名和作者信息,详细讲解了爬虫的基本流程,包括发起请求、获取响应、解析内容和保存数据。
部署运行你感兴趣的模型镜像

概述:

这是一个利用pycharm在phthon环境下做的一个简单爬虫分享,主要通过对豆瓣音乐top250的歌名、作者(专辑)的爬取来分析爬虫原理

什么是爬虫?

我们要学会爬虫,首先要知道什么是爬虫。

网络爬虫(又被称为网页 蜘蛛,网络机器人,在 FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取 万维网信息的程序或者脚本。另外一些不常使用的名字还有 蚂蚁、自动索引、模拟程序或者 蠕虫
中文名
网络爬虫
外文名
web crawler
别    称
网络蜘蛛
目    的
按要求获取 万维网信息


网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。


准备工作:

我们使用的是pycharm,关于pycharm的安装及使用可以参考https://blog.youkuaiyun.com/yanyangjie/article/details/78259561

使用工具:requests , lxml  ,xpath
关于requests的使用可以去看它的官方文档: http://docs.python-requests.org/zh_CN/latest/user/quickstart.html
个人觉得用lxml来解析网页是最快的,关于lxml的使用,可以看这个: http://yifei.me/note/464
xpath是一门在xml文档中查找信息的语言。 xpath可用来在xml文档中对元素和属性进行遍历。xpath的使用可以参考他的教程:

话不多说,开始我们的爬虫之旅

首先找到我们的目标url:https://music.douban.com/top250?start=0

可以看到我们要获取的歌名、作者(专辑)在页面中有十页,每页十行


于是我们可以利用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、发起请求

使用http库向目标站点发起请求,即发送一个Request

Request包含:请求头、请求体等 

Request模块缺陷:不能执行JS 和CSS 代码

 

2、获取响应内容

如果服务器能正常响应,则会得到一个Response

Response包含:html,json,图片,视频等

 

3、解析内容

解析html数据:正则表达式(RE模块),第三方解析库如lxml,bs4等

解析json数据:json模块

解析二进制数据:以wb的方式写入文件

 

4、保存数据

数据库(MySQL,Mongdb、Redis)

文件

总而言之,爬虫的流程就是爬取——解析——存储


您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

Python爬虫用于智联招聘这类网站的数据抓取通常需要使用一些库,如requests、BeautifulSoup或Scrapy等。在PyCharm这样的集成开发环境中,你可以按照以下步骤操作: 1. **安装必要的库**: 首先,确保你已经安装了`requests`库,如果没有,可以使用命令`pip install requests`进行安装。 2. **分析网页结构**: 打开智联招聘的城市招聘信息页面,分析HTML结构,找出包含数据的部分,特别是职位名称、地点、薪资等信息所在的元素。 3. **编写爬虫脚本**: 使用BeautifulSoup解析HTML内容,例如选择器如CSS选择器或XPath表达式来定位你需要的数据。以下是一个简单的例子: ```python import requests from bs4 import BeautifulSoup url = 'https://job.zhaopin.com/' + target_city + '/010000/' headers = {'User-Agent': 'Mozilla/5.0'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser') # 根据实际HTML结构查找并提取信息 jobs = soup.find_all('div', class_='job-item') # 代入合适的class名 for job in jobs: title = job.find('h3', class_='job-title').text # 类似地找到标题 location = job.find('span', class_='location').text # 地点 salary = job.find('span', class_='salary').text # 薪资 print(title, location, salary) # 输出获取到的信息 ``` 4. **处理反爬机制**: 确保遵守网站的robots.txt规则,并处理可能存在的验证码或登录验证。有时可能需要使用Session或Cookies保持状态。 5. **保存数据**: 把抓取到的信息保存到CSV文件或数据库中,以便后续分析。
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值