读书网(文章内容的抓取)
爬虫案例(读书网)(下)_使用requests爬读书网-CSDN博客文章浏览阅读909次,点赞10次,收藏12次。t=N7T8CSDN-读书网https://mp.csdn.net/mp_blog/creation/editor/139306808。_使用requests爬读书网https://blog.csdn.net/eqwaak0/article/details/140504257?spm=1001.2014.3001.5502我们在上个网站,爬取了每本书的名字和作者。现在我们拿去每本书的内容:
一.目标网址
如下的目标网址:
呼唤爱意 - 读书网|dushu.com呼唤爱意,作者:周大新,在线阅读《呼唤爱意》 - 读书网|dushu.comhttps://www.dushu.com/showbook/137171/
我们还是通过req和Bs4来抓取,这个网站没反爬,我们可以运用简单的方法。
import requests
from bs4 import BeautifulSoup
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36'}
link = f"https://www.dushu.com/showbook/137171/1945373.html"
r = requests.get(link, headers=headers)
r.encoding = 'utf-8'
soup = BeautifulSoup(r.text, 'lxml')
可以看见我们的目标文章的内容。
二.抓取内容:
目标内容:
我们需要抓取每个标题和文字内容:
通过开发者后台可以看见,需要的网址:
通过观察html可以观察到我们需要的div和class属性。
txt_list = soup.find('div',class_='span24')
# print(txt_list)
title = txt_list.find('p',class_='text-center text-large padding-top').text
print('标题:',title)
context = txt_list.find('div',class_='content_txt').text
print('内容:',context)
我们通过运行完,成功拿去这本书的内容:
三.总结:
需要爬取每本的内容可以使用遍历,来抓取数据完成。这个网址是很好练手的网址。
import requests
from bs4 import BeautifulSoup
for i in range(76,84):
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36'}
link = f"https://www.dushu.com/showbook/137171/19453{i}.html"
r = requests.get(link, headers=headers)
r.encoding = 'utf-8'
soup = BeautifulSoup(r.text, 'lxml')
# print(soup)
txt_list = soup.find('div',class_='span24')
# print(txt_list)
title = txt_list.find('p',class_='text-center text-large padding-top').text
print('标题:',title)
context = txt_list.find('div',class_='content_txt').text
print('内容:',context)