全网最详细爬虫教学-刚学Python也行-方法详解-看我这篇就够了-第一节

        前言

        很多人一听到爬虫脑子里就想到黑客,顶级程序员等。但其实爬虫不难,今天,我就来教大家快速入门爬虫。

       requests库

        说到爬虫,就不得不提request库了,它能提取静态网页源码(静态网页!!!),例如百度就是个静态网站 ,实战演练一下。 

import requests
head = {
    "User-Agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11"
}# 设置请求头,模拟浏览器

url = "https://www.baidu.com"
# 请求网页
res = requests.get(url, headers=head)
res.encoding = res.apparent_encoding  # 设置编码格式
# print(res)  # 查看状态码
#print(res.text)  # 查看网页HTML代码
  # 解析网页
name = "read.html"
with open(name,"a", encoding="UTF-8") as f:
    f.write(res.text)


        运行一下代码就可以将百度的源码爬到并生成对应的HTML文件。

代码详解

        1.导库

         import requests

         不用说,导库。顺嘴提一句,尽量用import + 库名,不要用from+ 库名+ import*虽然方便不用再调入函数时加库名,但仍然会造成函数冲突

        2.请求头
head = {
    "User-Agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11"
}# 设置请求头,模拟浏览器

          众所周知,很多网站都是反爬网站,所以这时候就要用请求头了。请求头的目的就是模拟浏览器,让反爬网站发现不了你是机器。

        3.正式代码

         res = requests.get(url, headers=head)
         res.encoding = res.apparent_encoding  # 设置编码格式

        得到代码有关信息。

        res.text就是网页源代码

with open(name,"a", encoding="UTF-8") as f:
    f.write(res.text)

        用with open()函数将源代码写入空文件read.html,a是追加写,w是覆盖写,r是只读

bs4库

        这个较为简单

        简单过一下,全称美丽的汤(beautifulsoup),负责解析网页。如

soup = bs4.BeautifulSoup(res.text, "lxml")  # 解析网页
tags = soup.find_all("a", class_="tit")

                将上面爬到的源代码进行分析,第一行不要动,第二行看具体网页。例如我们想爬取百度首页的头条。

        1.打开浏览器,来到百度,按F12,鼠标移到头条,右键点检查,即可发现这个:

<span class="title-content-title">关于未成年人,这一重磅报告发布</span>

        2.把代码改成tags = soup.find_all("span", class_="title-content-title")

        3.输出爬取内容:

for t in tags:
    print(t.text)

         这就是bs4的知识点。接下来,是爬取百度热搜的完整代码:

        

import requests
import bs4
import time
head = {
    "User-Agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11"
}# 设置请求头,模拟浏览器

url = "https://www.baidu.com"
# 请求网页
res = requests.get(url, headers=head)
res.encoding = res.apparent_encoding  # 设置编码格式
soup = bs4.BeautifulSoup(res.text, "lxml")  # 解析网页
# 选取数据
tags = soup.find_all("span", class_="title-content-title")

# 展示结果
for t in tags:
    print(t.text)
#So easy

        那么到现在,你的爬虫技术应该已经超过了大多数人。接下来,以此类推,关于如何爬取音乐,其实很简单,你爬到的音乐标签页会有音乐的网址,直接爬到后用同样步骤,将十六进制数放入xxx.mp3,这样就能获得音频了。这里也分享一个使用小技巧,如何快速获得音乐的对应网址呢?播放音乐,F12,点击"网络" -> "媒体"->ctrl+R刷新后单击音频文件就能找到对应网址了。

END

        肝死我了,点个关注吧,感谢你能看到这。点赞过二十,出下一节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值