学习Python,可以先从Python爬虫开始哈
首选,爬虫并不是网上传言的那样,动不动就面向铁窗编程等,正规的爬虫还是相当有市场的!!!
而 Python 作为入门简易的语言,语法也相当简洁,用来入门爬虫再好不过了!
学习Python爬虫需要一定的计划和步骤,以下是一个简单的学习计划:
-
学习Python基础知识:首先需要学习Python的基础知识,包括语法、数据类型、函数、模块等。可以通过在线教程或者相关书籍进行学习。
-
学习网络编程基础:爬虫的核心是网络编程,需要了解HTTP协议、URL解析、请求库、响应库等相关知识。推荐使用Python内置的requests库进行网络请求。
-
学习HTML/CSS解析:爬虫需要解析网页内容,因此需要学习HTML/CSS的相关知识。可以使用Python内置的BeautifulSoup库进行HTML/CSS解析。
-
学习数据存储:爬虫获取的数据需要进行存储和管理,可以使用数据库(如MySQL)或者文件(如CSV、JSON)进行存储。
-
实践项目:通过实践项目来巩固所学知识,可以选择一些简单的爬虫项目进行练习,例如爬取某个网站的信息并进行分析。
-
不断学习和提高:爬虫技术在不断发展变化,需要不断学习和跟进最新的技术和工具,例如Scrapy框架、Selenium等。
除了计划,还需要一定的学习步骤
-
学习 Python 基础知识:了解 Python 的基本语法、数据类型、流程控制等基础知识。
-
学习 requests 库:掌握 requests 库的使用,包括发送 HTTP 请求、获取响应内容等。
-
学习 Beautiful Soup 或 lxml 等库:掌握 Beautiful Soup 或 lxml 等库的使用,包括解析 HTML、提取信息等。
-
实践项目:通过实践项目来巩固所学知识,例如爬取某个网站的数据、分析网页结构等。
-
学习数据库和文件操作:了解数据库和文件操作相关知识,以便将爬取的数据保存到本地文件或数据库中。
兵马未动,粮草先行。
我们有了计划和学习步骤之后,就可以着手完成一个个小项目了
一个简单的实战例子
import requests
from bs4 import BeautifulSoup
url = 'https://www.baidu.com'
response = requests.get(url)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
title = soup.title.string
print(title)
当然,从总的爬虫流程来看,爬虫主要分为三部分,请求、解析和存储
1、发送请求
使用 Python 的 requests 库发送 HTTP 请求,获取网页内容。
import requests
url = 'https://www.baidu.com'
response = requests.get(url)
html = response.text
print(html)
2、解析 HTML
使用 Beautiful Soup 或 lxml 等库解析 HTML,提取出需要的信息。
from bs4 import BeautifulSoup
html = """
<div>
<h1>百度一下,你就知道</h1>
<p>百度一下,全球最大的中文搜索引擎、致力于让网民更便捷地获取信息,找到所求。</p>
</div>
"""
soup = BeautifulSoup(html, 'html.parser')
title = soup.title.string
print(title)
3、存储数据
将提取的数据保存到本地文件或数据库中。
import json
data = {
'title': '百度一下,你就知道',
'description': '百度一下,全球最大的中文搜索引擎、致力于让网民更便捷地获取信息,找到所求。',
'link': 'https://www.baidu.com'
}
with open('data.json', 'w') as f:
json.dump(data, f)
再来来看一个实战例子
众所周知,B站是用来学习的,下面咱们就通过B站来学习~小美女美照的抓取!
废话不多说,直接开干
网页分析
首先咱们先来分析B站网页,现在B站的搜索框里键入我们的关键词
然后我们点击下一页,通过浏览器的 F12 来查看网络请求
网络请求比较多,不过这都难不倒我们老司机了,咱们一眼就定位到了对应的请求
把上面的请求 URL 复制到 postman 当中,直接 send 一下试试
也是没有问题的,那么下面就是来编写代码了。
对于基础代码,咱们可以直接使用 postman 的提示代码
postman 还是很强大,也深知咱们用户的想法,哈哈哈!
import requests
url = "https://api.bilibili.com/x/web-interface/search/type?page=2&page_size=42&platform=pc&keyword=%E5%B0%8F%E7%BE%8E%E5%A5%B3&qv_id=RdBSJVPTX7sckeQMETPhzRB7aqKqU5rk&ad_resource=5654&source_tag=3&search_type=video&dynamic_offset=30"
payload={}
headers = {}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
编写代码
下面就是改编代码了,我们只需要调整 page
参数,然后再解析响应消息体即可
def fire():
uri = "https://api.bilibili.com/x/web-interface/search/type?page=current_page&page_size=42&platform=pc&keyword=%E5%B0%8F%E7%BE%8E%E5%A5%B3&qv_id=RdBSJVPTX7sckeQMETPhzRB7aqKqU5rk&ad_resource=5654&source_tag=3&search_type=video&dynamic_offset=30"
for i in range(1, 25):
url = uri.replace("current_page", str(i))
response = requests.request("GET", url, headers=headers, data=payload)
datas = response.json()
titles, hrefs = get_hrefs(datas)
download_pic(titles, hrefs)
通过 for
循环来请求 api
地址,再把拿到的响应数据传递给另外两个函数,分别处理响应数据和保存图片。
再来看看下载图片的代码
for i in range(len(hrefs)):
title_t = titles[i].replace('/','').replace(',','').replace('?','')
title_t = title_t.replace(' ','').replace('|','').replace('。','')
title_t = title_t.replace('<emclass="keyword">小美女<em>', '')
title_t = title_t.replace('【', '')
title_t = title_t.replace('】', '')
title_t = title_t.replace('*', '')
filename = '{}{}.jpg'.format(path,title_t)
with open(filename, 'wb') as f:
req = requests.get(url=hrefs[i], headers=headers)
f.write(req.content)
time.sleep(random.uniform(1.5,3.4))
主要是处理 title 当中的特殊字符
最终效果如下
好了,这就是今天分享的全部内容,喜欢就点个赞吧~
如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!
😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
Python兼职渠道推荐
学的同时助你创收,每天花1-2小时兼职,轻松稿定生活费.
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓