用requests库和BeautifulSoup4库爬取新闻列表

1.用requests库和BeautifulSoup4库,爬取校园新闻列表的时间、标题、链接、来源

import requests
from bs4 import BeautifulSoup
a=requests.get('http://news.gzcc.cn/html/xiaoyuanxinwen/')
a.encoding='utf-8'
soup=BeautifulSoup(a.text,'html.parser')
for xinwen in soup.select('li'):
    if len(xinwen.select('.news-list-description'))>0:
        time = xinwen.select('.news-list-info')[0].contents[0].text
        title = xinwen.select('.news-list-description')[0].text
        source = xinwen.select('.news-list-description')[0].text
        url = xinwen.select('a')[0]['href']
        print(time,title,source,url)

2.选一个自己感兴趣的主题,做类似的操作,为“爬取网络数据并进行文本分析”做准备

import requests
from bs4 import BeautifulSoup
from datetime import datetime

a=requests.get('http://news.gzcc.cn/html/jxky/')
a.encoding='utf-8'
soup=BeautifulSoup(a.text,'html.parser')

def getdetail(url):
    resd = requests.get(url)
    resd.encoding='utf-8'
    soupd = BeautifulSoup(resd.text,'html.parser')
    return (soupd.select('.show-content')[0].text)
for xinwen in soup.select('li'):
    if len(xinwen.select('.news-list-description'))>0:
        time = xinwen.select('.news-list-info')[0].contents[0].text
        dt = datetime.strptime(time,'%Y-%m-%d')
        title = xinwen.select('.news-list-description')[0].text
        source = xinwen.select('.news-list-description')[0].text
        url = xinwen.select('a')[0]['href']
        detail = getdetail(url)
        print(time,title,source,url,detail)
        break

posted @ 2017-09-28 21:41  ELsky  阅读(229)  评论(0编辑  收藏  举报