python爬虫模式_python爬虫的入门试炼

网络爬虫初解:

如果我们把互联网比作一张大的蜘蛛网,数据便是存放于蜘蛛网的各个节点,而爬虫就是一只小蜘蛛,沿着网络抓取自己的猎物(数据)爬虫指的是:向网站发起请求,获取资源后分析并提取有用数据的程序;从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HTML代码/JSON数据/二进制数据(图片、视频) 爬到本地,进而提取自己需要的数据,存放起来使用。

2b0ebb26cc8d?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image

爬取某网站的基本信息 :

先以猫眼网站(http://maoyan.com/board/4)为例:

想从网站获取的信息有:

电影名称,演员作者,发布时间,评分

电影名称:name

演员作者:star

发布时间:release_time

评分:scores

最关键的步骤如下:在网站中分别选中电影名称;作者;发布时间;评分右键选择检查,会出现所示代码然后复制下来,将该网页源代码打开,搜索相同字段,然后选择出你需要的部分,通过pycharm代码将你选择的电影名称;作者;发布时间;评分等爬取下来。

详细的整体代码如下:

import requests

import re

import time

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'

}

def get_info(url):

res = requests.get(url,headers=headers)

names = re.findall('

stars = re.findall('

(.*?)

',res.text,re.S)

release_times = re.findall('

上映时间:(.*?)

',res.text)

scores = re.findall('

(.*?)(.*?)

',res.text)

for name,star,release_time,score in zip(names,stars,release_times,scores):

print(name,star.strip(),release_time,score[0]+score[1])

if __name__ == '__main__':

urls = ['http://maoyan.com/board/4?offset={}'.format(str(i)) for i in range(0, 100, 10)]

for url in urls:

get_info(url)

time.sleep(0)

爬取后的信息很多,有一点乱,这就需要整理一下信息。

运用pycharm与Excel相结合,通过pycharm建立Excel文件。

例如:建立一个姓名,性别的Excel的文件。

import csv

fp = open('C:/Users/lenovo/Desktop/text.csv','w',encoding='utf-8',newline='')

writer = csv.writer(fp)

writer .writerow(['name','sex'])

writer .writerow(['***','男'])

整理信息

运用上面的例子,然后将爬取信息的信息整理到Excel文件夹中:

详细代码如下:

import requests

import re

import csv

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'

}

def get_info(url):

res = requests.get(url,headers=headers)

names = re.findall('

stars = re.findall('

(.*?)

',res.text,re.S)

release_times = re.findall('

上映时间:(.*?)

',res.text)

scores = re.findall('

(.*?)(.*?)

',res.text)

for name,star,release_time,score in zip(names,stars,release_times,scores):

print(name,star.strip(),release_time,score[0]+score[1])

writer.writerow([name, star.strip(), release_time, score[0] + score[1]])

if __name__ == '__main__':

fp = open('C:/Users/lenovo/Desktop/新建文件夹 (2)/python代码/text.csv', 'w', encoding='utf-8', newline='')

writer = csv.writer(fp)

writer.writerow(['name','star','release_times','scores'])

urls = ['http://maoyan.com/board/4?offset={}'.format(str(i)) for i in range(0, 100, 10)]

for url in urls:

get_info(url)

如此一来就将猫眼视频上的信息爬取了下来,然后我们还可以通过Excel进行各种对比;选择,挑选出最好的,等等一系列人们所需要的数据。

这就是最简单的python知识。后面我们将慢慢对python进行解读,以下仅供趣读:

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

Python 特点

易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

易于阅读:Python代码定义的更清晰。

易于维护:Python的成功在于它的源代码是相当容易维护的。

一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。

互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。

可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。

可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。

数据库:Python提供所有主要的商业数据库的接口。

GUI编程:Python支持GUI可以创建和移植到许多系统调用。

可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

大家一定要认真对待,不能像 小C(作者)一样,相信你们一定学的更好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值