一、软件准备
1.爬虫学习需要准备两个基础软件
①Python编译器;下载网址Welcome to Python.org
②代码编辑器pycharm;下载网址PyCharm:JetBrains为专业开发者提供的Python IDE
二、爬虫第三方库
在终端安装两个第三方库
①BeautifulSoup :pip install bs4
用来解析爬下来的HTML源码的库
②requests: pip install requests
用来获取网页HTML源码的库
三、基础爬取代码
备注:该方法只能爬取静态网页(即非动态加载的网页)
1.爬取
headers = {"User-Agent": "xxxxxxx"}
用来修改请求网页内容的头,python程序申请的头和网页请求的头不一致,修改头可以欺骗网站,让网站误以为是网页申请的请求。 xxxxxxx替换为浏览器申请的头,获取方法可以随机打开一个网页,右键-检查-网络-刷新页面-打开一个传输内容-最下面-User-Agent后面的内容
response=requests.get("ASUS 华硕 - 追寻无与伦比", headers=headers)
使用requests.get()函数,该函数用get方法获取网页内容,前面参数是要获取的网页URL(网址带http的),后面是修改请求头。
2.解析
soup = BeautifulSoup(response.text, "html.parser")
BeautifulSoup()函数是用来分析获取到的网页内容,第一个参数是获取到的网页内容,第二个参数是解析器(暂时还不太明白)
all_lwh = soup.findAll("h2")
all_lwh = soup.findAll("h2")这个代码是用来筛选网页内容,第一个参数是"h2"标题内容,表示筛选出h2标题标签的内容。
四、动态网页爬取
动态网页数据爬取通常有两种方法:
1.通过 Selenium 模拟浏览器点击的方式获取数据。
2.分析数据接口,找到数据藏在哪,然后请求接口的数据;
1.准备第三方库seleiunm
①在pycharm终端输入pip install seleiunm,安装seleiunm第三方库
②seleiunm要与浏览器的驱动程序一起使用,根据自己使用的浏览器的版本下载对应的Webdriver,具体的浏览器版本确认以及驱动下载地址可以查看这个博主的文章。https://blog.csdn.net/qq_53916728/article/details/12955850
驱动下载完后,不用运行驱动,将驱动exe文件拖拽到pycharm左侧的项目文件夹下,再用下面代码就可以控制浏览器驱动了。
browser = webdriver.Edge()
③seleium最好下载4.1.1,下载新版本可能会打开浏览器闪退,安装方法或卸载新版本的方法看下面问题解决。
2.seleiunm控制浏览器自动化
基本代码:
python控制浏览器驱动,浏览器驱动控制浏览器
from selenium import webdriver
browser = webdriver.Edge()
browser.get("https://www.baidu.com/")