Python爬虫的简单入门逻辑笔记
学习python绕不开的实际案例应用绕不开的便是爬虫
可以说爬虫是验证基础掌握的最好实践,容易获得肉眼可见的结果和代码功底,论坛上也有许多实际案例可供参考
参考论坛内的文章:https://blog.csdn.net/Veraura/article/details/88535648 作者:Veraura
1、首要准备
建议保持python版本最新
官网https://www.python.org/ 勾选pip安装选项
使用终端安装requests_html包(使用管理员权限打开)输入pip install requests_html
2、提取内容
在环境新建项目创建文件并输入
1. from requests_html import HTMLSession
3. session = HTMLSession()
4. r = session.get('https://3w.huanqiu.com/a/c36dc8/7KZVzJcCY7K?agt=20&tt_group_id=6667596831221875203')
5. print(r.text)
————————————————
版权声明:本文为CSDN博主「Veraura」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Veraura/article/details/88535648
1 利用requests-html HTTP库解析HTML构造对象 链接: [link](https://blog.csdn.net/u011054333/article/details/81055423).
2 使session(服务器端内存位置数据) 导入至HTMLSession包
3 创建对象,利用session.get方法获取网站内存数据
4 获取网站内想要数据的位置
https://3w.huanqiu.com/a/c36dc8/7KZVzJcCY7K?agt=20&tt
![目标网站](https://img-blog.csdnimg.cn/20200215162422491.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzM3NTc1NzA2,size_16,color_FFFFFF,t_70)
![网站代码内提取的位置](https://img-blog.csdnimg.cn/20200215162519387.png)
5 输出获取的内容
3、储存并导出至CSV文件
1、利用CSS选择器获取标题及时间
from requests_html import HTMLSession
session = HTMLSession()
r = ['https://3w.huanqiu.com/a/fe5d4b/7KZgIE8zTbi?agt=20&tt_group_id=6667448441594970631','https://3w.huanqiu.com/a/c36dc8/7L0gRL1wTny?agt=20&tt_group_id=6667672210636800524']
for link in r:
s = session.get(link)
title = s.html.find('#article>h1>strong',first=True)//#article寻找指定元素
date = s.html.find('#article > div.a-info >span.time ', first=True)//寻找指定元素的span.time元素
print(title.text,date.text)//输出括号内格式
2、利用python标准库csv 来读写 csv 数据
==参考代码==
import csv
file = open('artical.csv', 'w', newline='')
csvwriter = csv.writer(file)
# 写入标题行
csvwriter.writerow(['标题', '时间'])
# 写入数据
csvwriter.writerow(['title1', '10:30'])
csvwriter.writerow(['title2', '11:10'])
csvwriter.writerow(['title3', '12:50'])
file.close()
3、将爬虫数据写入CSV文件
from requests_html import HTMLSession
import csv
session = HTMLSession()
file = open('artical','w',newline='')
csvwriter=csv.writer(file)
csvwriter.writerow(['标题','时间'])
r = ['https://3w.huanqiu.com/a/fe5d4b/7KZgIE8zTbi?agt=20&tt_group_id=6667448441594970631','https://3w.huanqiu.com/a/c36dc8/7L0gRL1wTny?agt=20&tt_group_id=6667672210636800524']
for link in r:
s = session.get(link)
title = s.html.find('#article>h1>strong',first=True)
date = s.html.find('#article > div.a-info >span.time ', first=True)
csvwriter.writerow([title.text,date.text])
file.close()
参考:https://blog.csdn.net/Veraura/article/details/88535648
输出:![实际输出是仍有格式问题](https://img-blog.csdnimg.cn/20200215233352808.png)
实际为简单爬虫思路,经过实际测试和经验不足,大部分止于简单的HTML简单的文章页面后续继续练习