xiuji 发表于 2020-11-10 11:30

小说爬虫

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

start_url = "https://www.aabook.xyz/read.php?id=68339"
start_url = input("请输入网址:")
headers = {
    "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"
}

res = requests.get(start_url)
res.encoding = 'utf-8'
soup = BeautifulSoup(res.text, 'lxml')
# page_num = re.search(r'\d+', soup.find_all('li')[-1]('a').text).group()
sumUrl = ["https://www.aabook.xyz/" + i.find('a').get('href') for i in soup.find('ul','section_list')('li')]
name = soup.find('p',["nav","pngFix"])('a')[-1].text
# res.encoding = "utf-8"
# &v=a52bT%2FFbmkRqe7W8hwFugqPbNG5OpnWcepYftiB1SNuFddrUcJKZ
def get_text(url):
    r = requests.get(url)
    v = re.search(r"(&v=.*)\"", r.text).group(1)
    chapid = url.split("=")
    true_url = "https://www.aabook.xyz/" + "_getcontent.php?id=" + chapid + v
    res2 = requests.get(true_url)
    res2.encoding = "utf-8"
    soup2 = BeautifulSoup(res2.text,"lxml")
    textList =
    return textList

if __name__ == "__main__":
    for id in sumUrl:
      text = get_text(id)
      print(text)
      with open(name + ".txt",'a',encoding='utf-8') as f:
            f.write(''.join(text))
            f.close()

xiuji 发表于 2020-11-10 14:57

tywolf 发表于 2020-11-10 12:13
看到无数个一个网站写一段代码就是一个爬虫的帖子,没这必要去浪费时间啊,这些简单的代码都是可以复用的, ...

有js加密的也可以吗?不会吧

tywolf 发表于 2020-11-10 12:13

看到无数个一个网站写一段代码就是一个爬虫的帖子,没这必要去浪费时间啊,这些简单的代码都是可以复用的,搭上xml或者sqlite就做成通用的了

xiuji 发表于 2020-11-10 11:35

忘了说了,只支持那一个网站

Tony丶W 发表于 2020-11-10 12:29

{:301_976:} 不打开还不知道,一打开就吓一跳

锋逸520 发表于 2020-11-10 12:37

好东西!!!,收藏了,晚上学习{:301_995:}

perfri 发表于 2020-11-10 12:49

只能下这个网站的,这句话是重点

yyaocs 发表于 2020-11-10 13:04

哈哈,我喜欢只下这个网站的

weliong 发表于 2020-11-10 13:28

和护士后妈生活~~

tzwdj01 发表于 2020-11-10 13:37

这个小说网有点意思啊{:301_995:}

nyfensence 发表于 2020-11-10 13:45

{:301_999:}代码是次要的,网站才是精华
页: [1] 2 3 4
查看完整版本: 小说爬虫