Python进阶学习(一)网络爬虫

本文介绍了使用Python进行网络爬虫的基础知识,包括如何利用requests和BeautifulSoup模块抓取和解析网页,以及使用Selenium模块操控浏览器获取数据,适合Python进阶学习者。

Python进阶学习(一)网络爬虫

      网络爬虫,即Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。
网络蜘蛛是通过网页的链接地址来寻找网页的。网络爬虫的基本操作是抓取网页。

当然学习网络爬虫之前最好先学习相关的网页知识会帮助大家更好的理解  如:html、css。。。。等等

下面来学习基本的网络爬虫小知识

1、让浏览器打开一个网页

import webbrowser
webbrowser.open('http://www.baidu.com')

2、下载网页信息并保存到本地

requests模块  先打开命令框输入pip install requests安装

import requests

res = requests.get('http://www.baidu.com')
res.raise_for_status()
if res.status_code == requests.codes.ok :
    print('访问正常')
    print(res.text[:]) ##捕捉网页源代码
    file = open('d:\\Py\\s.txt','wb') #以二进制写入
    for i in res.iter_content(100000):
        file.write(i)
    file.close()

---------------------------至此我们就可以对下载下来的数据进行处理-----------------------------------

但是这样处理数据  是很吃力的一件事................那怎么办呢?

下面引入BeautifulSoup模块来更好的解析网页 而且可直接提取数据

1、安装BeautifulSoup模块  在命令框中输入命令pip install beautifulSoup4

2、爬取网页数据

import requests,bs4
res = requests.get('http://www.baidu.com')
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text)
print(soup)

 

3、提取数据

方法汇总:https://blog.csdn.net/qq_41686130/article/details/79856474

 

------------------------------------------------到这里对网页的数据处理是不是简单了许多----------------------------------------------

但是这样还不是非常简便,而且对一些网页进行异步处理的内容无法获取.....

下面引入一个更牛逼的Selenuim模块可以更好的操控浏览器获取数据也是目前主流的用法

Selenuim模块

1、安装 请参考https://segmentfault.com/a/1190000007249396

2、Selenuim可以操控火狐、谷歌、ie浏览器 这里以火狐为例

from selenium import webdriver  #引入模块
browser = webdriver.Firefox()  #打开火狐浏览器
browser.get('http://www.baidu.com') #打开百度

3、数据提取

具体操作https://blog.csdn.net/qq_29186489/article/details/78661008

 

好啦写了这么多,还不如来个例子说明更直观---批量删除微博

因篇幅问题  下篇博客见啦。。。。。。。https://mp.csdn.net/postedit/86692753

 

 

初级教程看:https://download.csdn.net/download/dwf1354046363/20818468 9 网络爬虫进阶之 Selenium 篇 9.1 Selenium 简介 . . . . . . . . 9.1.1 Selenium 是什么 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 9.1.2 Selenium 特点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 9.1.3 基本安装与使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 9.1.4 各种浏览器驱动下载地址 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 9.1.5 Selenium 初试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 9.2 定位元素 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 9.2.1 基本的定位方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 9.2.2 使用 By 定位 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 9.2.3 定位组元素 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 9.3 控制浏览器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 9.3.1 控制浏览器窗口大小 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 9.3.2 控制浏览器后退、前进 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 9.3.3 模拟浏览器刷新 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 9.4 WebDriver 中的常用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 9.5 设置元素等待 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 9.5.1 显式等待 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 9.5.2 隐式等待 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 9.6 多表单切换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 9.7 多窗口切换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 9.8 其他操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码敌敌畏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值