Python3爬虫入门实战(一)

本实战课程主要用到urllib.request(或者requests) 、 BeautifulSoup 、Selenium这三种库。
urllib.request(或者requests) 用来访问网页,这个是死套路,记住就可以了。
BeautifulSoup 用来从网页结构中定位自己想要的内容,并获取到
会了上面的两个个库,一般的不需要登录验证的小网站你都能爬了。

而抓登录验证的网站就需要用到Selenium库

好了,下面开始我们的课程。
前请准备好Beautiful Soup 相关知识
今天抓豆瓣读书

# -*- coding=utf-8 -*-
import urllib.request
from bs4 import BeautifulSoup
import time

num = 1  #用来计数,计算爬取的书一共有多少本
start_time = time.time()  #计算爬虫爬取过程时间

#第一页网页网址https://read.douban.com/columns/category/all?sort=hot&start=0
#第二页网页网址https://read.douban.com/columns/category/all?sort=hot&start=10
#第三页网页网址https://read.douban.com/columns/category/all?sort=hot&start=20
#......发现规律了吗
url = 'https://read.douban.com/columns/category/all?sort=hot&start='  


for i in range(0,1650,10):  #这里的  range(初始,结束,间隔)
    #urllib.request库用来向该网服务器发送请求,请求打开该网址链接
    html = urllib.request.urlopen('https://read.douban.com/columns/category/all?sort=hot&start=%d' % i)    
    #BeautifulSoup库解析获得的网页,第二个参数一定记住要写上‘lxml’,记住就行
    bsObj = BeautifulSoup(html,'lxml')  

    print('==============' + '第%d页'%(i/10 + 1) + '==============')
    #分析网页发现,每页有10本书,而

标签正好只有10个。 h4_node_list = bsObj.find_all('h4') # 这里返回的是h4标签的list列表 for h4_node in h4_node_list: #遍历列表 #获取h4标签内的a标签,但这里返回是只含1个元素的list a_node = h4_node.contents[0] title = a_node.contents[0] #因为是列表,要list[0],取出来 title = '<<' + title + '>>' print('第%d本书'%num, title) num = num + 1 #设置抓数据停顿时间为1秒,防止过于频繁访问该网站,被封 time.sleep(1) end_time = time.time() duration_time = end_time - start_time print('运行时间共:%.2f' % duration_time + '秒') print('共抓到%d本书名'%num)

运行结果:
==============第1页==============
第1本书 <<你可以拥有你想要的生活>>
第2本书 <<女神日常修炼手册>>
第3本书 <<零基础学投资>>
第4本书 <>
第5本书 <<我的第一本理财书>>
第6本书 <<总有一句歌词打湿你心>>
第7本书 <<自我复位健康术>>
第8本书 <<学心理,我在学什么>>
第9本书 <<识男手册>>
第10本书 <<在床上>>
==============第2页==============
第11本书 <<好姑娘使用手册>>
第12本书 <<月薪三千的你>>
第13本书 <<女性心理成长自疗课>>
第14本书 <<我用奔跑告诉你,我不回头>>
第15本书 <<旅行手绘小课堂>>
第16本书 <<犀读:好文笔是读出来的>>
第17本书 <<跑赢CPI>>
。。。。。。。
。。。。。。。
第1640本书 <<细数穿花燕影偏>>
==============第165页==============
第1641本书 <<单身饭局>>
第1642本书 <<计划一场留学>>
第1643本书 <<闲步东瀛之横滨>>
第1644本书 <<小豆汁儿 慢慢长>>
第1645本书 <<茁壮幼儿园>>
第1646本书 <<空中楼阁>>
第1647本书 <<你常常在梦中欢快地笑出声来>>
第1648本书 <<诡故事不是鬼故事>>
第1649本书 <<海底喋血——核潜艇>>
第1650本书 <<猪八戒与嫦娥>>
运行时间共:366.54秒
共抓到1651本书名
欢迎关注公众号 大邓带你玩转python

Python3爬虫入门实战(一)_第1张图片
大邓带你玩转python

Python3爬虫入门实战(一)_第2张图片
每周有直播哦,扫码即可加入

你可能感兴趣的:(Python3爬虫入门实战(一))