查看: 1391|回复: 14

[Python] 小说爬虫

[复制链接]
发表于 2020-11-10 23:30 来自手机 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

小说网站的爬虫
想下载哪本小说,就进入小说第一章的网页,复制网页地址,作为输入参数就可以了
  1. import requests
  2. import re
  3. from bs4 import BeautifulSoup

  4. start_url = "https://www.aabook.xyz/read.php?id=68339"
  5. start_url = input("请输入网址:")
  6. headers = {
  7.     "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36"
  8. }

  9. res = requests.get(start_url)
  10. res.encoding = 'utf-8'
  11. soup = BeautifulSoup(res.text, 'lxml')
  12. # page_num = re.search(r'\d+', soup.find_all('li')[-1]('a')[0].text).group()
  13. sumUrl = ["https://www.aabook.xyz/" + i.find('a').get('href') for i in soup.find('ul','section_list')('li')]
  14. name = soup.find('p',["nav","pngFix"])('a')[-1].text
  15. # res.encoding = "utf-8"
  16. # &v=a52bT%2FFbmkRqe7W8hwFugqPbNG5OpnWcepYftiB1SNuFddrUcJKZ
  17. def get_text(url):
  18.     r = requests.get(url)
  19.     v = re.search(r"(&v=.*)"", r.text).group(1)
  20.     chapid = url.split("=")[1]
  21.     true_url = "https://www.aabook.xyz/" + "_getcontent.php?id=" + chapid + v
  22.     res2 = requests.get(true_url)
  23.     res2.encoding = "utf-8"
  24.     soup2 = BeautifulSoup(res2.text,"lxml")
  25.     textList = [i.text for i in soup2('p')]
  26.     return textList

  27. if __name__ == "__main__":
  28.     for id in sumUrl:
  29.         text = get_text(id)
  30.         print(text)
  31.         with open(name + ".txt",'a',encoding='utf-8') as f:
  32.             f.write(''.join(text))
  33.             f.close()
复制代码


如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2020-11-11 00:06 | 显示全部楼层

不错不错~~~~~
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-11 00:08 | 显示全部楼层

不错不错,,,
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-11 06:41 来自手机 | 显示全部楼层
感谢大佬分享,大牛因有你而更精彩。
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-11 07:21 | 显示全部楼层
谢谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-11 07:21 | 显示全部楼层
多谢分享多谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-11 07:35 | 显示全部楼层
感谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-11 11:04 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-11 11:11 | 显示全部楼层
谢谢楼主分享,先收藏了。
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-11 13:43 | 显示全部楼层

感谢分享,谢谢提供分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
返回顶部