python爬虫搜狐新闻

想做新闻的文本分类,先爬了一些搜狐网的新闻做数据集

#_*_coding:utf-8_*_
import requests
from bs4 import BeautifulSoup
import os

def geturl(URL):
    baseurl='http://news.sohu.com/guoneixinwen_%d.shtml'%URL
    request = requests.get(url=baseurl)
    respons = request.content      #得到页面源代码
    soup = BeautifulSoup(respons,'html.parser')   #解析源代码
    pagelist=soup.select('div.article')
    urllist=[]
    for page in pagelist:
        url=page.select('a')[1].attrs['href']
        urllist.append(url)
    return urllist

def get_xinwen(URL):
    urllist=geturl(URL)
    contentlist=[]
    for url in urllist:
        request = requests.get(url=url)
        respons = request.content      #得到页面源代码
        soup = BeautifulSoup(respons,'html.parser')   #解析源代码
        try:
            page=soup.select('div#contentText')[0]
            # page=str(page)
            # pattern =re.compile(u'[\u4e00-\u9fa5]+')
            # content=pattern.search(page)
            content=page.text
            contentlist.append(content)
        except IndexError:
            pass
    return contentlist

if __name__=="__main__":
    for num in range(12081,12181):
        a=get_xinwen(num)
        lenth=len(a)
        os.mkdir('./%d'%num)
        for i in range(lenth):
            f=open('./%d/%d.txt'%(num,i),'w',encoding='utf-8')
            f.write(a[i])     #写入txt
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值