- 论坛徽章:
- 33
|
本帖最后由 q1208c 于 2017-12-30 13:00 编辑
回复 1# zbhdpx
import requests
from bs4 import BeautifulSoup
def getNewsDetail(newsurl):
result = {}
res = requests.get(newsurl)
res.encoding = 'utf-8'
soup = BeautifulSoup(res.text,'html.parser')
result['title'] = soup.select('h1')[0].text
result['time'] = soup.select('.info-title span')[1].text
result['article'] = [p.text.strip() for p in soup.select('.info-con span')]
return result
def parseListLinks(url):
newsdetails = {}
res = requests.get(url)
res.encoding = 'utf-8'
soup = BeautifulSoup(res.text,'html.parser')
for news in soup.select('.mb20'):
newsdetails.append(getNewsDetail(news.select('a')[0]['href']))
return newsdetails
url = 'http://www.iron-powder.cn/knowledge'
parseListLinks(url)
AttributeError Traceback (most recent call last)
<ipython-input-78-b47a839534d7> in <module>()
1 url = 'http://www.iron-powder.cn/knowledge'
----> 2 parseListLinks(url)
<ipython-input-77-69f7954642e8> in parseListLinks(url)
8 # h3 = news.select('h3')[0].text
9 # a = news.select('a')[0]['href']
---> 10 newsdetails.append(getNewsDetail(news.select('a')[0]['href']))
11 return newdetails
AttributeError: 'dict' object has no attribute 'append'
|
|