python开发爬虫程序_Python网络爬虫

Python网络爬虫第一篇

(一):为什么要学习网络爬虫?

大数据成为当今时代的热门话题之一,在数据量爆发增长的互联网时代,网站与用户沟通实质为数据的交换。如果大量的数据得以分析,我们能够对事件的看法,解决方案做出更好的决策。而网络爬虫技术,则是大数据分析领域的第一个环节。

(二):能从网络上爬取什么数据?

所有在网页能见到的数据都可以通爬虫程序保存下来。

(三):python爬虫的流程

获取网页——解析网页(提取数据)——存储数据

1:获取网页:给一个网址发送请求,该网址会返回整个网页的数据。

基础技术:requests模块、urllib模块、selenium模块

进阶技术:多进程多线程抓取、登录抓取、突破IP封禁、使用服务器抓取。

2:解析网页:从整个网页中提取想要的数据。

基础技术:re正则表达式、BeautifulSoup和lxml。

进阶技术:解决中文乱码

3:存储数据:把数据存储下来,可存放到数据库,也可存在csv中。

基础技术:存入txt文件和存入csv文件

进阶技术:存入MySQL数据库和MongoDB数据库

(四)编写第一个网络爬虫

1:使用pip安装第三方库:pip是Python安装第三方库(package)的工具,安装的第三方库:bs4:使用其中的BeautifulSoup解析网页。

requests:获取网页地址。

2:使用编辑器Pycharm编程。(如有小伙伴遇到安装问题,请联系小编,小编在所不辞)

3:请开始你的表演:

第一步:获取页面:

import requests#导入第三方库

link="https://www.baidu.com/"#定义link为爬取目标网页地址

#定义请求头的浏览器代理,伪装成浏览器

headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '

'AppleWebKit/537.36 (KHTML, like Gecko) '

'Chrome/87.0.4280.88 Safari/537.36 Edg/'

'87.0.664.60'}

r=requests.get(url=link,headers=headers)#请求网页

print(r.text)#获取网页内容代码

浏览器查看请求头的方法:在网页按下鼠标右键——检查——Network——按下Ctrl+R——点击与该网页地址相同的Name——Header——User-Agent(滑到底部即可看到)

请求头的作用:在请求网页爬取的时候,输出的text信息中会出现抱歉,无法访问等字眼,这就是禁止爬取,需要通过反爬机制去解决这个问题。headers是解决requests请求反爬的方法之一,相当于我们进去这个网页的服务器本身,假装自己本身在爬取数据。对反爬虫网页,可以设置一些headers信息,模拟成浏览器取访问网站 。

第二步:提取需要的数据

import requests#导入第三方库

from bs4 import BeautifulSoup#从bs4导入BeautifulSoup

link="https://www.baidu.com/"#定义link为爬取目标网页地址

#定义请求头的浏览器代理,伪装成浏览器

headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '

'AppleWebKit/537.36 (KHTML, like Gecko) '

'Chrome/87.0.4280.88 Safari/537.36 Edg/'

'87.0.664.60'}

r=requests.get(url=link,headers=headers)#请求网页

soup=BeautifulSoup(r.text,'html.parser')#使用BeautifulSoup解析

#找到你想要的内容,填写相应信息

title=soup.find('span',class_='title-content-title').text

print(title)#获取网页内容代码

检查——单击小按钮——在页面点击你想要的数据——的到class

选中它,就会最终到如下图所示

第三步:保存数据

在原有代码下添加

#打开一个空白的txt,然后使用调用write函数写入刚刚的字符串

with open('text_test.txt','a+')as f:

f.write(title)

运行之后得到

不过在编辑器里打开无法识别中文,所以到相应位置用记事本或写字板等其他软件打开即可查看数据。

数据就保存到了该文件里。

第一个简单的爬虫就编写好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值