本实战课程主要用到urllib.request(或者requests) 、 BeautifulSoup 、Selenium这三种库。
urllib.request(或者requests) 用来访问网页,这个是死套路,记住就可以了。
BeautifulSoup 用来从网页结构中定位自己想要的内容,并获取到
会了上面的两个个库,一般的不需要登录验证的小网站你都能爬了。
而抓登录验证的网站就需要用到Selenium库
好了,下面开始我们的课程。
前请准备好Beautiful Soup 相关知识
今天抓豆瓣读书
import urllib.request
from bs4 import BeautifulSoup
import time
num = 1
start_time = time.time()
url = 'https://read.douban.com/columns/category/all?sort=hot&start='
for i in range(0,1650,10):
html = urllib.request.urlopen('https://read.douban.com/columns/category/all?sort=hot&start=%d' % i)
bsObj = BeautifulSoup(html,'lxml')
print('==============' + '第%d页'%(i/10 + 1) + '==============')
h4_node_list = bsObj.find_all('h4')
for h4_node in h4_node_list:
a_node = h4_node.contents[0]
title = a_node.contents[0]
title = '<<' + title + '>>'
print('第%d本书'%num, title)
num = num + 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本书 <<Low Fashion>>
第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本书名