最近,我想使用Python爬取一本小说以便离线阅读,但经过多次尝试,依然没有成功:
import requests from bs4 import BeautifulSoup url = "https://www.xxx.com/xxx.html" headers = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"} response = requests.get(url, headers=headers) response.encoding = response.apparent_encoding soup = BeautifulSoup(response.text, "html.parser") # 获取小说正文内容 content = soup.find_all("div", {"id": "novelcontent"}) for c in content: print(c.get_text())
以上代码是我尝试用Python爬取小说的代码,但是执行后命令行没有任何输出。
经过排查,我发现是小说网站的反爬机制阻止了我的爬虫。尽管我加了headers作为请求参数,但还是无法成功爬取,可能是网站的反爬机制已经更新升级了。虽然我有使用代理的方法来尝试解决问题,但依然没有效果。
因此,我建议大家在爬取小说时,一定要注意合法使用爬虫,不要恶意爬取和扰乱网站的正常运营。同时,也要注意防范反爬机制,避免频繁请求和可能导致封IP的操作。