我问了一个我不认为我很清楚的问题。我已经成功地从网站主页上删了帖子。下一步是关注帖子到其详细信息页面的链接,以便我可以抓取详细信息内容。这是我试图修改的代码,但它不起作用。请注意,我是一个新手,我在django应用程序中使用它。
def sprinkle():
url_two = 'http://www.example.com'
html = requests.get(url_two, headers=headers)
soup = BeautifulSoup(html.text, 'html5lib')
titles = soup.find_all('div', {'class': 'entry-pos-1'})
entries = [{'href': url_two + div.a.get('href'),
'comment': BeautifulSoup(url_two + div.a.get('href')).find_all('div', {'class': 'article-body'}),
'src': url_two + div.a.img.get('data-original'),
'text': div.find('p', 'entry-title').text,
} for div in titles][:6]
return entries
在我的观点中
sp = sprinkle()
context = {
"comment": sp
}
并在我的模板中
{% for s in sp %}
{{s.comment}}
{% endfor %}
所有它显示的HTML中的是
[]
我试图刮擦的网址看起来像这样
http://www.example.com//article/218582/detail-art
http://www.example.com//article/218817/detail-science
http://www.example.com//article/218542/detail-theatre
如何使用链接转到详细信息页面并从该页面中删除数据?
答案 0 :(得分:2)
这将起作用
def sprinkle():
url_two = 'http://www.vladtv.com'
html = requests.get(url_two, headers=headers)
soup = BeautifulSoup(html.text, 'html5lib')
titles = soup.find_all('div', {'class': 'entry-pos-1'})
def make_soup(url):
the_comments_page = requests.get(url, headers=headers)
soupdata = BeautifulSoup(the_comments_page.text, 'html5lib')
comment = soupdata.find('div', {'class': 'article-body'})
para = comment.find_all('p')
return para
entries = [{'href': url_two + div.a.get('href'),
'src': url_two + div.a.img.get('data-original'),
'text': div.find('p', 'entry-title').text,
'comments': make_soup(url_two + div.a.get('href'))
} for div in titles][:6]
return entries
但是我解决它的方式仍然显示方括号