小说爬虫
小说网站的爬虫想下载哪本小说,就进入小说第一章的网页,复制网页地址,作为输入参数就可以了
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() tywolf 发表于 2020-11-10 12:13
看到无数个一个网站写一段代码就是一个爬虫的帖子,没这必要去浪费时间啊,这些简单的代码都是可以复用的, ...
有js加密的也可以吗?不会吧 看到无数个一个网站写一段代码就是一个爬虫的帖子,没这必要去浪费时间啊,这些简单的代码都是可以复用的,搭上xml或者sqlite就做成通用的了 忘了说了,只支持那一个网站 {:301_976:} 不打开还不知道,一打开就吓一跳 好东西!!!,收藏了,晚上学习{:301_995:} 只能下这个网站的,这句话是重点 哈哈,我喜欢只下这个网站的 和护士后妈生活~~ 这个小说网有点意思啊{:301_995:} {:301_999:}代码是次要的,网站才是精华