【发布时间】:2018-03-08 13:53:26
【问题描述】:
如何正确输出本新闻网站的所有链接? (以列表形式)
以列表形式输出后,如何随机返回结果(一次3~5个链接)
注意:我需要的代码从第 739 行开始(几乎它可能会有所改变,因为它每天都会刷新)
div class="abdominis rlby clearmen"
我需要这种东西里面的每一个链接
<a href="https://tw.news.appledaily.com/life/realtime/20180308/1310910/>
谢谢!!代码如下:
from bs4 import BeautifulSoup
from flask import Flask, request, abort
import requests
import re
import random
import types
target_url = 'http://www.appledaily.com.tw/realtimenews/section/new/'
print('Start parsing appleNews....')
rs = requests.session()
res = rs.get(target_url, verify=False)
soup = BeautifulSoup(res.text, 'html.parser')
#can output all links but with useless information
contents = soup.select("div[class='abdominis rlby clearmen']")[0].find_all('a')
print(contents)
#can output single link but not in list form
#contents = soup.select("div[class='abdominis rlby clearmen']")[0].find('a').get('href')
#print(contents)
【问题讨论】:
-
以列表形式输出后,如何随机返回结果(一次3~5个链接)..你能澄清一下你的意思..返回到哪里?
-
单行:
[a['href'] for a in soup.select("div[class='abdominis rlby clearmen']")[0].find_all(href=True)] -
@johnashu 实际上是指输出
-
因为我正在编写在线聊天机器人,所以它应该是“返回”XD
标签: python python-3.x python-2.7 beautifulsoup web-crawler