python爬虫新闻的学习笔记
来源:互联网 发布:js bind call apply 编辑:程序博客网 时间:2024/05/17 14:14
刚开始查到的资料都是用正则。。主要我是小白,啥都不太懂
后来发现一个神器,beautifusoup
主要目的是:爬取news.xidian.edu.cn中一部分新闻内容,以标题,内容的形式保存到csv里
大概步骤如下,
1. 我所要获取的主页面是news.xidian.edu.cn,首先我应该先爬取下整个页面
import requestsres = requests.get('http://news.xidian.edu.cn/')res.encoding='utf-8'
2. 利用beautifusoup来对这个页面进行“模式化”(模式化我自己取的名字)
模式化的意思就是 对这个爬取下来的html内容进行一定的操作,使得soup有一定的格式,可以通过print来看一下。这种格式它可以直接通过select('')来获取内容。
soup = BeautifulSoup(res.text,'html.parser')
这边要注意的是,我提取出来的wholenews是列表list的形式,它不可以直接在用select,我就在这边犯了好多错误。
wholenews = soup.select('.content1_left_bottom_right')
4.提取出了我需要的内容,但是分析网页源代码发现,我要提取的东西是在wholenews中以li形式存在的。但是又不能直接提取wholenews
自己想了个办法,可不可以先把wholenews变成和第二步中res.text的形式,然后在模式化,最后select('li'),这种方法不知道对不对。。只能试试了,可能有更好的办法。
newsoup = BeautifulSoup(str(wholenews),'html.parser')newlist = newsoup.select('li')
5. 提取出来的newlist也是一个列表的形式,里面有很多数组,这样的话,我就可以采用for循环,来一条一条提取内容。
一定要结合自己要爬取网页的代码!
for news in newlist: #news 是newlist重的每一项,可以用select a = news.select('a') a2 = a[1].text link = a[1]['href'] if (len(link) <=21): turelink = 'http://news.xidian.edu.cn/' + link else: turelink = link print('标题: '+a2)
6. 上面标题就已经被提取出来啦。然后我要进入各个页面,今天每一个标题下的内容的提取。
首先前面已经把url给分析出来了,这样我就可以再利用第一步,先把第一个子页面的所有内容爬下来
reslist = requests.get(turelink) reslist.encoding='utf-8' souplist = BeautifulSoup(reslist.text,'html.parser')
再次说明。一定要结合自己所爬网页的代码!
alltext = souplist.select('#wz_zw') #一个列表 neirongsoup = BeautifulSoup(str(alltext), 'html.parser') neironglist = neirongsoup.select('p') lenp = len(neironglist) print("内容:") wn = '' for i in range(lenp): n = neironglist[i].text wn = str(wn) +str(n) print(wn)
8.最后我还想把东西保存到csv里,写了个保存的def,然后全部代码的最后调用store函数。
import codecscsvfile = open('xidian1.csv','w',newline='')writer = csv.writer(csvfile)def store(title,content): csvrow = [] csvrow.append(title) csvrow.append(content) writer.writerow(csvrow)
0 0
- python爬虫新闻的学习笔记
- Python爬虫学习笔记
- python爬虫学习笔记
- python爬虫学习笔记
- python爬虫学习笔记
- Python 爬虫学习笔记
- python爬虫学习笔记
- Python 爬虫学习笔记
- Python学习笔记(四) -- 简单的爬虫
- python爬虫搜狐新闻
- python爬虫,爬取虎扑网新闻
- 【python学习笔记】自动抓取雅虎新闻的内容
- Python 编写新浪新闻网络爬虫(学习整理)
- python网络爬虫学习笔记
- Python--网络爬虫学习笔记
- 学习python爬虫笔记(1)
- 学习笔记22-Python爬虫
- Python爬虫学习笔记Day2
- Java Web开发Model1(Jsp+JavaBean)
- 软件测试实践-性能测试
- 深度学习框架Keras的安装
- 每天学习openstack(13)
- ajax同步异步请求与JSON数据解析
- python爬虫新闻的学习笔记
- shiro 多realm
- 高德百度坐标系转换方法
- vboxclient the virtualbox kernel service is not running.Exiting.解决办法
- XStream的日期转换XStreamDateConverter
- 操作系统与网络实现 之二十(甲)
- 程序员必读书单 1.0 ----转自Lucida
- 快速理解RequireJs
- 游戏与常用的五大算法---下篇