故事背景:
公元2019年,大数据课设,要做一个大数据系统,和两个室友决定搞一个小说推荐系统,所以就需要很多小说的数据,SO,就需要爬点数据了。
讲一下思路:
选一个小说网站,这里就不说我用的小说网站的名字了。我这里爬取的是静态网页,简单一点。
首先从主页面上获取每个小说的详情页的url,进入详情页获取需要的信息,书名、点击量,因为我们要做推荐系统,还需要评分,但是他上边没有,所以我就自己随机数了23333;主页的url分页爬取,所以分析一下不同页url的差异,就是index_x(x=1,2…),然后就能分页取了,因为小说类型在其他位置,所以单独爬取,最后在和小说其他数据连在一起,其他就正则表达式了。
代码:
import requests,re,time,random
class QiShu(object):
def __init__(self):
self.url='https://www.qisuu.la/soft/sort06/index_{}.html'
self.headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
}#请求头从网页得到,模拟浏览器访问,简单的反爬虫
def get_html(self,page_num):
#根据主页url得到主页html信息
url=self.url.format(page_num)
try:
response = requests.get(url=url, headers=self.headers)
if response.status_code ==