669021067 发表于 2021-8-28 00:36:04

爬取小说到68章报错

import requests
from bs4 import BeautifulSoup
if __name__ == '__main__':
    # UA伪装
    headers = {
      'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36 Edg/92.0.902.78'
    }
    url = 'https://www.soshuw.com/WanMeiShiJie/'
    page_text =requests.get(url=url,headers=headers).content

    #在首页中解析出章节和详情页的url
    #1.实例化BeautifulSoup对象,需要将页面源码数据加载到该对象中
    soup = BeautifulSoup(page_text,'lxml')
    #解析章节标题和详情页的url
    li_list = soup.select('.novel_list > dl > dd')
    fp = open('./wmsj','w',encoding='utf-8')
    for li in li_list:
      title=li.a.string
      data_url ='https://www.soshuw.com/' + li.a['href']
      #对详情页发起请求,解析出章节内容
      data_page_text = requests.get(url=data_url,headers=headers).content
      #解析出详情中相关的章节内容
      data_soup = BeautifulSoup(data_page_text,'lxml')
      div_tag = data_soup.find('div',class_ ='content').text
      #contents = div_tag.text
      fp.write(title+':'+div_tag+'\n')
      print(title,"爬取成功")

Traceback (most recent call last):
File "D:\pythonProject3\爬虫数据解析\爬取小说章节和内容bs4.py", line 24, in <module>
    div_tag = data_soup.find('div',class_ ='content').text
AttributeError: 'NoneType' object has no attribute 'text'
还有爬取成功到文件里的内容
第2071章 独断万古(大结局):
NBSPNBSPNBSPNBSP 您可以在百度里搜索“完美世界 搜书网(www.soshuw.com)”查找最新章节!
NBSPNBSPNBSPNBSP 一役过后,石昊扫平界海这一边,平定黑暗大动乱,解决了大患。
NBSPNBSPNBSPNBSP他该离去了,回归仙域。
NBSPNBSPNBSPNBSP在回去之前,他扫荡了终极古地,又进入黑暗之地,遍寻界海这一端,看是否还有什么古怪遗留。
NBSPNBSPNBSPNBSP随后,他将遗存下来的那些接引古殿都开启了,而后,他更是轰开虚空,见到成片的黑暗牢笼。
NBSPNBSPNBSPNBSP虽然许多牢笼都空了,但是也有一批还关押着元神。
一复制粘贴到其他地方就没有前面的字母,这是什么原因

wp231957 发表于 2021-8-28 07:33:28

那你就查看一下68章到底是什么鬼

937135952 发表于 2021-8-28 09:52:18

第一个问题可能是被服务器屏蔽了{:10_319:},可以用time.sleep()休息一下
第二个问题,用正则表达把这些英文去掉就可以了

啊淡淡蛋蛋 发表于 2021-8-28 10:18:28

68章可能和前面的不太一样

669021067 发表于 2021-8-28 13:32:45

937135952 发表于 2021-8-28 09:52
第一个问题可能是被服务器屏蔽了,可以用time.sleep()休息一下
第二个问题,用正则表达把这些英 ...

怎么用正则把他去掉
页: [1]
查看完整版本: 爬取小说到68章报错