python爬虫简易到进阶实战篇——(1)

python简易实战(1)——猫眼top100

第一篇文章介绍python基本环境搭建,简单实战,希望我们一同进步。

首先,对于初学者,python相比于c、java语言较容易入手,而写爬虫更是简单了不止一星半点。
而对于刚入手的同学来说,根据本人的经验,搭建python对应的编译环境可能相比写程序更复杂。
写程序的话,要上手python简易爬虫只需认真看一篇b站或者某教学网站的爬虫实战视频就可以上手,例如像静态网站那样不需要过多的分析网页。
所以,我先介绍一下python爬虫开发所需要的前提:
①.首先当然是下载python,因为版本的更新,现在大多数爬虫都是3.多版本,本人用的是3.6版本,网站的话百度一个进官网下载即可,当初下载的时候好像没有什么大的问题。
②.其次是python爬虫所要用到的库,我习惯用requests库,它比python自带的urllib库更简单,对于这些第三方库,我建议下载一个Anaconda,下载后安装教程https://jingyan.baidu.com/article/3f16e0031e87522591c10320.html,它覆盖了python开发所需的大量的库,这样我们写程序导入第三方库时能省临时下载的时间。
③.想要快速上手,IDE是一个很好的东西,pycharm是受大部分学习python的人认同的IDE之一,它分为社区版和企业版,企业版是收费的而社区版是免费的,对于我们平常写的爬虫用社区版就足够了。
④.第四步,我个人理解这一步为:搭建编译环境。如何把我们下载的编译程序导入我们的IDE工作台,在这里我简单说明,在pycharm中打开File→Settings→Project→Project interpreter,在箭头处选择编译环境,如果不出意外应该是下面的样子。
图片描述

搭建完环境后就可以写简单的爬虫了。
下面给出经典爬取猫眼电影top100的爬虫,后面有相应注释:

#__author:'lwq'
#date: 2018/8/22
import requests   #对网页进行请求
from bs4 import BeautifulSoup   #网页解析库
#    因为第一次,就不用函数形式
for i in range(0,100,10):  #0到100以10为步长,range总是考虑后面的数减步长
    url = 'http://maoyan.com/board/4?offset={}'.format(i)   #猫眼top100数据所在网页
    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'}   #因为猫眼对爬虫或许有反爬措施,所以这里进行简单的处理,将我们的爬虫伪装成是人访问
    response = requests.get(url,headers = headers)     #对网页进行请求并返回值
    html = response.text      #将网页内容以html返回
    soup = BeautifulSoup(html,'lxml')      #解析网页的一种方法
    name = soup.find_all('p',class_="name")    #对电影名字的定位
    score = soup.find_all('p',class_="score")   #对电影评分的定位
    time = soup.find_all('p',class_="releasetime")  #对电影上映时间的定位
    artist = soup.find_all('p',class_="star")       #对主演的定位
    dic = {}    #创建一个字典,用来储存
    for n in range(len(name)) :         #对于每一部电影进行同样的内容处理
        # print(name[n].text)   #实现提取电影名字
        # print(artist[n].text.strip()[3:])   #获取主演名字
        # print(time[n].text[5:])    #上映时间
        # print(score[n].text)   #评分
        dic['name'] = name[n].text
        dic['star'] = artist[n].text.strip()[3:]
        dic['showtime'] = time[n].text[5:]
        dic['score'] = score[n].text
        print(dic)  #输出字典

符号#表示注释改行,通过这个简单的代码就可能获取我们想要的猫眼电影top100了,快去试试看吧。
运行后结果部分如下:
这里写图片描述

还有我是一个半路出家的和尚,只学过c和java(还没有学好),python是自学,如果有大佬有更简易的处理方案,希望告诉我这个萌新,希望和你们一起进步。

  • 22
    点赞
  • 131
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值