这是刚学PYthon的时候跟着老师的讲解自己写的一个 关于免费小说的爬虫小程序,首先使用的bs的解析方式进行网页内容解析。
import requests
from bs4 import BeautifulSoup
import openpyxl
import pandas
import xlwt
然后用request进行网页的内容的获取。(这里小说的网址就不展示了,大家可以随意选取那些可以免费阅读的小说网址,需要VIP阅读的可以去隔壁查找方案。)
def send_request():
url='xxxxxx'
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.100 Safari/537.36'}
resp=requests.get(url,headers=headers) #关键字参数,伪装成浏览器
resp.encoding='gb2312'
return resp.text
第二步就是用bs4进行网页内容的解析,并提取出所需要的内容。(这里还加了翻页的功能)
def parse_html(html):
lst=[['序号','小说名称','网址']]
bs=BeautifulSoup(html,'html.parser')
li_tag=bs.find_all('li',class_='new_2')
count=1
for li in li_tag:
a_tag=li.find('a')
story_name=a_tag.text
story_url='https://www.lingdianshuwu.com/'+a_tag['href']
lst.append([count,sname,url])
count+=1
save(lst)#这一步对提取出来的列表进行保存
第三部就是将提取出来的内容保存到excel表中去
def save(lst):
#存储,存储到Excel文件中
wk=openpyxl.Workbook()
sheet=wk.active
for item in lst:
sheet.append(item)
wk.save('我的小说.xlsx')
if __name__ == '__main__':
send_request()
当然这第三步保存到excel中的方法还有很多种,这里就不一一展示,我还有个小想法就是,可以这里直接保存为dataframe格式的数据,用to_excel的方式保存是不是会更方便一点,大家一起来讨论讨论吧!