首页 > 其他 > 详细

第一个小爬虫

时间:2018-10-09 16:34:31      阅读:177      评论:0      收藏:0      [点我收藏+]

例子是爬取 豆瓣打分排名前250的电影(https://movie.douban.com/top250)

我自己是一个新手,我说说我的做法,供新手参考:

1、首先打开网页,对要爬去的内容进行分析。主要是分析html的结构,你要获取的内容在那个Tab下,他有没特殊的规则。

2、一般的爬去都要获取下一页,要确定下一页的方式。我们通过分析发现 “https://movie.douban.com/top250 ”,我们发现,每一页都有后缀,https://movie.douban.com/top250?start=175&filter=

3、开始着手写代码

 

 

import requests
from bs4 import BeautifulSoup
import re

next = True                              #其实这个next是可以定义为任意值,只有不等于 None,只要为了下面的while循环
url = https://movie.douban.com/top250   #初始的url

while next != None :                    
    page = requests.get(url).content    #初始url是上面定义的,每一次循环会给url重新设置值 ,在倒数第一行
    soup = BeautifulSoup(page)          #用 BeautifulSoup 获取格式化的数据
    hd = soup.find_all(div,hd)       # 我们发现span在(‘div‘,‘hd‘)下。
    for i in hd:
        name = i.find(span,title).getText()   #利用循环获取 电影名。这里需要说明:为什么在(‘div‘,‘hd‘)下获取(‘span‘,‘title‘)而不是直接取。在分析页面数据的时候发现(‘span‘,‘title‘)很多不是我们想要获取得数据。
        print(name)                               #打印出电影名
    next = soup.find(span,next).find(a)[href]    #下一页的后缀
    if next != None:                                     #如果下一页的href是存在的,那么重新定义url
        url = https://movie.douban.com/top250+next     

 

运行代码的时候,需要安装re/BeautifulSoup4/requests

 

第一个小爬虫

原文:https://www.cnblogs.com/zhangrx1987/p/9761070.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!