Python制作网络爬虫几乎是所有编程语言中最简单的,下面给大家写一个小demo,供感兴趣的朋友学习。
一、制作爬虫的设计思路:
- 爬虫三部曲 - 获取数据(读取url对应的网页)
- 爬虫三部曲 - 数据清洗、数据处理(字符串操作,正则表达式,第三方工具)
- 爬虫三部曲 - 数据存储(直接输出,写入文件,写入数据库)
二、核心源码
import urllib.request
import urllib
from bs4 import BeautifulSoup
# python爬虫初探
url = 'https://movie.douban.com/top250'
#声明用来存放电影的列表
movie_name_list = []
def get_data(url): #到指定网址,抓取数据,并做初步的解码工作
response = urllib.request.urlopen(url)
html = response.read().decode() #读取返回的数据,并解码
return html
#数据清洗,从结构化数据中提取所需要的信息
def select_data(html):
soup = BeautifulSoup(html,"html.parser")
movie_zone = soup.find("ol") #首先找到电影区域
movie_list = movie_zone.find_all("li") #获取电影列表,除去电影名字还有其他信息,如导演等
for movie in movie_list: #获取电影名字
movie_name = movie.find("span").getText()
movie_name_list.append(movie_name)
next_page = soup.find("span",attrs={'class':'next'}).find('a') #获取下一页的网址
if next_page: #如果存在下一页,则访问下一页,并获取电影名字
select_data(get_data(url + next_page['href']))
return movie_name_list
result = get_data(url)
name_list = select_data(result)
#计算电影的数量
print(len(name_list))
#输出电影的名字至屏幕
for name in name_list:
print(name)
需要源码+视频讲解的同学,可以加我微信哦。