python的爬虫小入门
爬虫的相关操作
1、爬文本内容
# coding=gbk
import requests ##声明相关库
import re
response=requests.get('http://duanziwang.com/') ##获取到需要爬虫的网址
data=response.text ##把网站的相关内容全部爬下来
res=re.findall('<p>(.*?)</p>',data) ##获取自己需要的那一部分
print(res)
import requests
import re
respone=requests.get('http://ishuo.cn/')
data=respone.text
res=re.findall('<li class="list_li">(.*?)</li>',data)
dict={}
for i in res: ##对内容进行循环,并取出标题跟内容
context=re.findall('<div class="content">(.*?)</div>',i)[0]
title=re.findall('<a href="/subject/.*?">(.*?)</a>',i)[0]
desc=re.findall('</a>(04月.*?)</div>',i)[0]
dict[title]=(context,desc)
for i in dict.items():
print(f'{i[0]:<20} | {i[1]}')
2、爬图片内容
import requests
import re
respone=requests.get('http://www.nipic.com/design/acg/renwu/index.html?page=1&tdsourcetag=s_pcqq_aiomsg')
data=respone.text
img_res=re.findall('data-src="(.*?)"',data)
for i in img_res:
img_response=requests.get(i)
img_data=img_response.content ##图片会以二进制的形式显示
img_name=i.split('/')[-1] ##以/进行分割并取出每一张图片
f=open(img_name,'wb') ##打开图片并写入
f.write(img_data)
3、爬视频内容
import requests
import re
response = requests.get('http://www.mod.gov.cn/v/index.htm')
data = response.text
mp4_res2 = re.findall('<a href="(.*?)">', data)
for i in mp4_res2: # type:str
res = re.findall('(.*?htm)', i)[0]
res = 'http://www.mod.gov.cn/v/' + res
response = requests.get(res)
data = response.text
# http://vv.chinamil.com.cn/asset/category3/2019/06/27/asset_357593.mp4
url_res = re.findall('//Video (.*?.mp4)',data)[0]
mp4_response = requests.get(url_res)
mp4_data = mp4_response.content
f = open('test.mp4','wb')
f.write(mp4_data)
# break
python的爬虫小入门的更多相关文章
- python网络爬虫之入门[一]
目录 前言 一.探讨什么是python网络爬虫? 二.一个针对于网络传输的抓包工具fiddler 三.学习request模块来爬取第一个网页 * 扩展内容(爬取top250的网页) 后记 @(目录) ...
- python网页爬虫小项目开发
这是我最近接的一个小项目,花了是整整四天多时间. 任务是将http://www.examcoo.com/index/detail/mid/7网站下所有的试卷里的试题全部提取出来,首先按照题型进行分类, ...
- [Python] Scrapy爬虫框架入门
说明: 本文主要学习Scrapy框架入门,介绍如何使用Scrapy框架爬取页面信息. 项目案例:爬取腾讯招聘页面 https://hr.tencent.com/position.php?&st ...
- Python之爬虫从入门到放弃(十三) Scrapy框架整体的了解
这里是通过爬取伯乐在线的全部文章为例子,让自己先对scrapy进行一个整理的理解 该例子中的详细代码会放到我的github地址:https://github.com/pythonsite/spider ...
- Python网络爬虫实战入门
一.网络爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序. 爬虫的基本流程: 发起请求: 通过HTTP库向目标站点发起请求,也就是发送一个Request ...
- Python 网络爬虫 002 (入门) 爬取一个网站之前,要了解的知识
网站站点的背景调研 1. 检查 robots.txt 网站都会定义robots.txt 文件,这个文件就是给 网络爬虫 来了解爬取该网站时存在哪些限制.当然了,这个限制仅仅只是一个建议,你可以遵守,也 ...
- python网络爬虫之解析网页的正则表达式(爬取4k动漫图片)[三]
前言 hello,大家好 本章可是一个重中之重,因为我们今天是要爬取一个图片而不是一个网页或是一个json 所以我们也就不用用到selenium模块了,当然有兴趣的同学也一样可以使用selenium去 ...
- python网络爬虫之自动化测试工具selenium[二]
目录 前言 一.获取今日头条的评论信息(request请求获取json) 1.分析数据 2.获取数据 二.获取今日头条的评论信息(selenium请求获取) 1.分析数据 2.获取数据 房源案例(仅供 ...
- Python简单爬虫入门二
接着上一次爬虫我们继续研究BeautifulSoup Python简单爬虫入门一 上一次我们爬虫我们已经成功的爬下了网页的源代码,那么这一次我们将继续来写怎么抓去具体想要的元素 首先回顾以下我们Bea ...
随机推荐
- ping和tracert
ping命令常用于测试2台主机网络是否连通 TTL的默认值有:64(linux),128(windows),255(路由器) 此例TTL是63所以选用64来减去63等于1,这是说明经过了1个路由器,没 ...
- c#中的位运算
&与 全为1才是1 |或 全为0才是0 !非 两边相同时为1,不同时为0 ~取反 0变1,1变0,包括符号位 >>右移 溢出舍掉,正数补0,负数补1,移动n位:原数 / 2 ...
- linux 部署 .net 程序
1.使用jexus https://www.jexus.org/ 2.“loopback”错误
- javascript 循环读取数组中的值
//数组 var a = ["#F85C6F", "#78B0F0", "#DB83ED", "#8EC656", &q ...
- NetMQ用作IPC的实例
发送端/接收端 using System; using System.Threading; using NetMQ; using NetMQ.Sockets; namespace NetMQIPCSe ...
- python之路之考试题目
- C++-POJ1021-2D-Nim[hash]
哈希,对于每个点哈希一次 哈希的方式:该点到联通分量边界(上下左右)的距离和 然后分别对两个图的n个点按hash值排序,判断是否相等即可 #include <set> #include & ...
- MySQL关于GTID的一些功能限制
参考文献:https://www.cnblogs.com/luckcs/articles/6295992.html 更新非事务引擎: Case重现: master:对一个innodb表做一个多sql更 ...
- 问题 I: 数字分组2
问题 I: 数字分组2 时间限制: 1 Sec 内存限制: 128 MB[命题人:admin] 题目描述 已知一堆魔法石的重量,问如何分成两堆,使得它们质量和之差最大,但不能大于(可以等于)这些数中 ...
- nginx 定义:响应头和请求头
1) 响应头 add_header 例如: add_header Cache-Control no-cache; add_header Access-Control-Allow-Origin *; a ...