python爬虫实战之路(Python数据分析之爬虫第一练)
python爬虫实战之路(Python数据分析之爬虫第一练)下面,请您开始写出自己的爬虫吧,一起动起来!爬取结果关于网页页面分析的内容可以自己百度下,相关知识比较简单,这里不做赘述。概括下就是:F12页面# 练习1:爬取新闻联播文本信息 #!/usr/bin/Python # -*- coding: UTF-8 -*- import os os.chdir('D:/3.DA/Finance Bigdata mining and analysis with Python') # 变更工作目录 os.getcwd() # 获取当前工作目录 import requests as req import re # UA代表访问网站的浏览器是哪种浏览器,可以通过在地址栏中输入“about:version”获取 # “\”是行连接符 headers = {'User-Agent': 'Mo
背景最近我大A行情拉跨,很多朋友都陷入迷茫,不知该如何是好,其实,有一条圣经始终生效“跟着新闻联播选题材”是胜率极大的。
为了能够及时获取相关新闻的文字内容,于是自己动手写了个爬虫,以下enjoy。
数据源要爬取的源目标就是新闻联播的官网,如下图所示。
新闻联播网页
页面分析关于网页页面分析的内容可以自己百度下,相关知识比较简单,这里不做赘述。概括下就是:
- Chrome浏览器打开网页,按下F12,弹出如下的页面;
- 点击弹出页面左上角的箭头,则可以互动查看页面对应内容的源码;
- 确定对应的数据定位规则。
F12页面
爬虫源码# 练习1:爬取新闻联播文本信息
#!/usr/bin/Python
# -*- coding: UTF-8 -*-
import os
os.chdir('D:/3.DA/Finance Bigdata mining and analysis with Python') # 变更工作目录
os.getcwd() # 获取当前工作目录
import requests as req
import re
# UA代表访问网站的浏览器是哪种浏览器,可以通过在地址栏中输入“about:version”获取
# “\”是行连接符
headers = {'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) \
AppleWebkit/537.36 (KHTML like Gecko) \
Chrome/100.0.4896.127 Safari/537.36'}
# 新闻联播网址
cctv1_url = 'https://tv.cctv.com/lm/xwlb/index.shtml?spm=C28340.PKIGaXubtUxb.EzxTCLEMTepF.4'
cctv1_web = req.get(cctv1_url headers=headers)
#print(cctv1_web.apparent_encoding)
cctv1_web.encoding = cctv1_web.apparent_encoding # 为了防止中文乱码,将页面编码赋值给输出编码
cctv1_web = str(cctv1_web.text) # 在进行了编码转换后,得到的数据为bytes,需要转换成str才可以进行后续爬取
#print(cctv1_web) # 打印页面内容text
# Step 1 提取新闻标题、网址、来源和日期信息
web_title = '<div class="image"><a href.*?title="(.*?)"><img src='
web_href = '<div class="image"><a href="(.*?)"'
web_date = '<div class="image"><a href="https://tv.cctv.com/(.*?)/V'
title = re.findall(web_title cctv1_web re.S)
href = re.findall(web_href cctv1_web re.S)
date = re.findall(web_date cctv1_web re.S)
# Step 2 数据清洗
for i in range(len(title)):
title[i] = title[i].strip() # 用strip()函数把不需要的空格和换行符去掉
title[i] = re.sub('<.*?>' '' title[i]) # 用sub()函数处理<em>和</em>
href[i] = href[i]
date[i] = date[i].strip()
# i从0开始是数字,所以字符串拼接时要用str()函数进行转换
print(str(i 1) '.' title[i] '(' date[i] ')')
print(href[i])
正则表达式
爬取结果爬取结果
一起动手下面,请您开始写出自己的爬虫吧,一起动起来!