from selenium import webdriver
from bs4 import BeautifulSoup
import time
PATH = 'C:\Program Files\chromedriver.exe'
driver = webdriver.Chrome(PATH)
driver.get('http://www.xbiquge.la/41/41495/18842440.html')
content = driver.page_source.encode('utf-8').strip()
soup = BeautifulSoup(content, 'lxml')
# get information
def getinfo():
chapter_name = soup.find('div', class_='bookname').h1
chapter_info = soup.find('div', id='content')
with open(r'C:\Users\14155\Desktop\Python\爬虫实战案例\笔趣阁\全属性武道\{}.txt'.format(chapter_name.text[4:]), 'w',
encoding='utf-8') as f:
f.write(chapter_name.text.strip() + "\n\n" + chapter_info.text.replace(' ', ''))
# next chapter
def nextchapter():
next_chapter = driver.find_element_by_link_text('下一章')
next_chapter.click()
def main():
for i in range(5):
getinfo()
nextchapter()
main()
您的soup只访问了一次,就是说getinfo()这个函数一直在对第一章进行操作
您可以在每次使用getinfo()这个函数时,先更改一下soup
getinfo()函数中with open 中“w”是写入,改为追加写入“w+”
虽然你for循环了5次 但你的content一直是第一章的内容