【发布时间】:2018-05-25 18:14:59
【问题描述】:
from bs4 import BeautifulSoup
import time
#import requests
import urllib.request,re
#import pandas as pd
#import numpy as np
import csv
def crawlcontents():
url = 'https://www.tripadvisor.com/ShowTopic-g983296-i13236-k11538516-Rent_from_LOTTE_standard_or_mystery_option-Jeju_Island.html'
html = urllib.request.urlopen(url).read().decode()
# print(html)
soup = BeautifulSoup(html,'html.parser')
# print(soup)
div = soup.select_one('#SHOW_TOPIC > div.balance > div.firstPostBox > div > div > div.postRightContent > div.postcontent > div.postBody')
div.select_one('script').decompose()
postcontent = div.text.strip()
postcontent = re.sub(r'\n+', ' ',postcontent)
print(postcontent)
crawlcontents()
这是在旅行网站上爬行。 我需要一个脚本,但错误是:
python 'NoneType' 对象没有属性 'decompose'
我该如何改变呢?
【问题讨论】:
-
你为什么大喊大叫?你得到的实际回溯是什么?
-
您能解释一下调用
.decompose()的那一行想要完成什么吗?div变量不包含任何scriptCSS 选择器,因此当您尝试使用select_one选择它时,它会返回 None,因此会出现错误。
标签: python html web web-scraping web-crawler