欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-05 13:33:23
...

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,在箭头处选择编译环境,如果不出意外应该是下面的样子。
python爬虫简易到进阶实战篇——(1)

搭建完环境后就可以写简单的爬虫了。
下面给出经典爬取猫眼电影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了,快去试试看吧。
运行后结果部分如下:
python爬虫简易到进阶实战篇——(1)

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

相关标签: 入门