python爬虫、文件读取和写出

python网络爬虫(一) 爬取网站图片 什么是网络爬虫? 网络爬虫(Web Spider),又被称为网页蜘蛛,是一种按照一定的规则,自动地抓取网站信息的程序或者脚本。网络蜘蛛是通过网页的链接地址来寻找网页,从网站某一个页面开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。 爬虫流程 用户获取网络数据的方式: 方式1:浏览器提交请求—>下载... 阅读详情

Python爬虫

xpath 方法

需要导入 requests 包、lxml 包(第三方包需要下载)

from lxml import etree

headers 是模拟实际用户进行访问网站,查询自己电脑的方法进入 http://httpbin.org/get,找到 User-Agent 一栏就是了。
使用 get 函数进行访问

res=requests.get(url = url,headers = headers)    

对于使用什么函数进行访问,可以在网站的检查中 Request Method(请求模式)找得到

html = etree.HTML(res.text)

将 html 代码转为 xml 代码,xml 代码才可以使用 xpath 函数

html.xpath('//a[@class="job-name"]/@href')

以上函数的含义是找到所有 a 标签且具有[@class=“job-name”]属性中的 href 的属性
“/”是指进入下一层,"//"指所有的标签

html.xpath('//a[@class="job-name"]/text()')

以上函数的含义是找到 a 标签且具有[@class=“job-name”]属性中的 a 标签的文本

a.replace('b','c')#将 b 替换成 c

正则表达式法

1、导入模板

需要导入 urllib.request 包,re 包

2、确定 URL

url = “地址”

3、访问 URL 并获得响应

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36"}

用户代理:headers 是模拟实际用户进行访问网站,查询自己电脑的方法进入 http://httpbin.org/get,找到 User-Agent 一栏就是了。

res = urllib.request.Request(url=url,headers=headers)
response = urllib.request.urlopen(res)   #访问地址
html = response.read().decode()  #将页面按字符形式解码,方便使用正则查找图片 URL

4、解析页面,获得需要的数据

result = re.findall(r'"img":"(.*?)","thumb_bak"',html)

使用 re.findall()方法将需要的数据用(.*?)取出来

5、将获得的内容进行整理


代码

#1、导入模块
import urllib.request   #用来访问网址获得响应
import urllib.parse     #用来编码字符串
import re               #用来进行正则匹配
#2、确定 URL  ---  得到每个输入的人名的图片搜索页面
name = input("请输入需要图片搜索的东西:")  #周杰伦
transname = urllib.parse.quote(name)    #将输入的 name 编码成浏览器可以识别的形式
url = "https://image.so.com/i?q=" + transname + "&src=srp"   #拼接完整的图片搜索 URL
# print(url)
#3、访问 URL 并获得响应
headers = {"User-Agent":"Mozila/4.0"}   #用户代理
res = urllib.request.Request(url=url,headers=headers)
response = urllib.request.urlopen(res)   #访问了搜索周杰伦的图片网址
html = response.read().decode()  #将页面按字符形式解码,方便使用正则查找图片 URL
# print(html)
#4、解析页面,获取需要的数据
result = re.findall(r'"img":"(.*?)","thumb_bak"',html)
# "img":"http:\/\/www.people.com.cn\/mediafile\/pic\/20181025\/75\/11406210007433942707.jpg","thumb_bak"
# print(result)  #url 列表[xxx,ttt,y,d,z]
# 循环从图片 URL 列表中拿去数据,进行访问,获取图片,保存图片
i = 1
for img_url in result:
    #将 URL 中的斜杠 \ 去除
    url = img_url.replace("\\","")
    response = urllib.request.urlopen(url)   #访问完整图片 url
    img = response.read()        #读取二进制图片
    with open(name + str(i) + ".jpg","wb") as f:  #周杰伦 1.jpg
        f.write(img)    #写入图片
        print("写入成功")
        i = i + 1

Python 打开文件、读取文件、写入文档

f = open(‘text.txt’,’a’)  #打开文件,text 是文件名,需要加上后缀,若文件不是在默认路径,则需要使用绝对路径,另外需要前面加一个 r(将\转义为正常的\)。后面的 a 是读取方式,一般默认的是 a(只读)。
f.read()#读取文件
f.close()#关闭文件
with open("wen.txt","a",encoding="utf-8") as f:
    f.write(t)
#检查 IOError 异常值,且不用添加关闭文件的命令

encoding="utf-8"是为了将中文编码
最常用的有两个参数: open(filename, mode)。

第一个参数是包含文件名的字符串。
第二个参数是另一个字符串,其中包含一些描述文件使用方式的字符。mode 可以是 'r' ,表示文件只能读取,'w' 表示只能写入(已存在的同名文件会被删除),还有 'a' 表示打开文件以追加内容;任何写入的数据会自动添加到文件的末尾。'r+' 表示打开文件进行读写。mode 参数是可选的;省略时默认为 'r'。

【愚公系列】《Python网络爬虫从入门到精通》037-文件的存取 在网络爬虫的开发过程中,数据的存取是一个至关重要的环节。无论是从网页抓取来的文本、图片,还是其他格式的数据,如何高效、准确地存储和读取这些信息,直接关系到爬虫的性能和后续数据分析的效果。在《Python网络爬虫从入门到精通》的第037篇文章中,我们将深入探讨文件的存取方法,帮助你在爬虫项目中灵活运用这些技巧。本篇文章将涵盖文件的基本读写操作,包括如何使用Python的内置函数以及流行的第三方库来处理各类文件格式,如文本文件、CSV文件和JSON文件等。 阅读详情

相关推荐

python网络爬虫文档读取-CSV文件

python网络爬虫中进行文档读取时,如何读取csv文件以及如何从csv文件中获取文档中对应的内容,以及以及使用csv.reader和csv.DictReader()的区别。csv数据的采集和整理

wanght89的专栏 2304

python爬虫输出格式问题

最近学了python的爬虫爬取中国大学排名,然后输出格式对不齐真是为难我这个强迫症患者了。所以经过我的一番努力(随便瞎搞),终于! 话不多说,上代码!代码内容有注解。那个chr(12288)指的是按照中文空格缩进。然后tqlt中的{4}是指按照foemat的第5个参数缩进(不知道是不是这样,但我是这么理解的)。如果不做处理,默认按照英文缩进,但我们大中国字和英语占位不一样嘛。 # 打印中国大...

qq_40999273的博客 2960

爬虫基础(1)什么是网络爬虫

文章目录一. 认识网络爬虫二. 网络爬虫的组成三. 网络爬虫的类型1. 通用网络爬虫2. 聚焦网络爬虫3. 增量式网络爬虫4. 深层网络爬虫(1)静态网页(2)深层页面和表层页面(3)网络爬虫表单填写四. 网络爬虫的用途 一. 认识网络爬虫 说起网络爬虫,人们常常会用这样一个比喻:如果把互联网比喻成一张网,那么网络爬虫就可以认为是一个在网上爬来爬去的小虫子,它通过网页的链接地址来寻找网页,通过特定的搜索算法来确定路线,通常从网站的某一个页面开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地

Python达人 2840

python 爬虫输出为空_爬虫输出文件为空,求解答

import jsonimport requestsimport csvfrom multiprocessing.dummy import Pool as ThreadPoolimport timeimport randomfrom lxml import etreedef spider(page):url = 'http://waimai.meituan.com/search/wx4g19983...

weixin_39661129的博客 1351

Python网络爬虫基本库

网络爬虫(Web Crawler)是一种自动化程序,用于从互联网上采集信息。它通过自动访问网页并提取所需的数据,实现对大量网页的快速检索和数据抓取网络爬虫通常使用HTTP协议来访问网页,并通过解析HTML、XML等网页内容来提取数据。爬虫可以从一个起始点(如某个特定网页)开始,然后根据链接关系自动地遍历和抓取其他相关网页。

Java/Python大数据随笔 3005

Python网络爬虫与聚焦爬虫,如何用爬虫爬取段子

一、网络爬虫Python爬虫开发工程师,从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一...

月吖吖 2075

Python爬虫:导出爬取的数据

最近想要做一个爬虫,检验一下Python的学习成果,眼看快要做完了,又遇到了问题,想要导出爬取的数据就必须要了解CSV文件,可是!下面是我百度出的结果! 啊啊啊啊! 作为一枚小白,我看不懂百科在说些什么?!后来,在网上发现一个讲爬虫导出数据存储格式的小视频,我觉得讲的超基础,很适合小白,特来分享给大家~ 如果你也想学习python做爬虫,跟我一起看看下方视频,听知名技术专家李刚老师讲解如何导出爬虫...

weixin_38744962的博客 5640

python如何爬虫网页数据-python网络爬虫爬取网页内容

1.什么是网络爬虫?网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。换言之,如果我们把互联网比作一张大的蜘蛛网,数据便是存放于蜘蛛网的各个节点,而爬虫就是一只小蜘蛛,沿着网络抓取自己的猎物(数据)爬虫指的是:向网站发起请求,获取资源后分析并提取...

weixin_37988176的博客 2218

python抓取一个网页的源代码并存储到本地文件

1.1读取一个网页的源代码:url:我们要爬取的网页链接(例如:url = “https://www.hao123.com”)#读取一个网页的源代码import urllib.request def read_pageHtml(url): file = urllib.request.urlopen(url) data = file.read() return data u...

吴世俊的博客 2万+

告别Keil!用VSCode+PlatformIO玩转STC单片机(附自动下载配置)

本文详细介绍了如何从Keil迁移到VSCode+PlatformIO进行STC单片机开发,包括环境搭建、自动下载配置等实用技巧。通过对比传统IDE与现代工具链的差异,展示了VSCode+PlatformIO在代码编辑体验、跨平台支持和开发效率上的优势,帮助开发者实现更流畅的STC单片机开发流程。

weixin_27252001的博客 457

海康VisionMaster零代码开发实战:从PLC工程师到视觉专家的捷径

本文为PLC工程师提供了利用海康VisionMaster视觉平台实现零代码视觉开发的实战指南。文章详细阐述了如何通过图形化流程设计替代传统编程,快速搭建视觉检测应用,并实现与PLC的无缝通讯,是工程师从设备控制迈向视觉系统集成的有效捷径。

weixin_29201859的博客 293

python爬取网页源码_Python实现网页源码抓取

1用import 命令导入 urllib 库,具体代码为:import urllib.request2用 urllib.request.urlopen 打开一个网页,具体代码为:file = urllib.request.urlopen("http://www.baidu.com")经过上面的处理,我们把读取到的网页内中存到了变量 file当中3用 read 方法将内容读取出来,具体代码为:dat...

weixin_39575775的博客 818

glibc手动升级高版本导致系统(RedHat/Centos)异常(无法开机等)的解决方法(回退低版本glibc)

我的系统是Redhat7.6, 理论上Redhat7/Centos7都可以使用该方法解决问题。 首先慎重提醒各位:glibc升级会产生无法预料的后果!由于Android NDK需要高版本的glibc才可以使用,所以作死手动去更新了glibc2.18,使得重启系统后图形界面消失。(Redhat/Centos升级此类安装包最好用yum升级,因为系统内的程序对他们的依赖很大,升级会导致大部分程序无法使用...

weixin_42881528的博客 9695

1.认识网络爬虫

1.认识网络爬虫 网络爬虫 爬虫的合法性 HTTP协议 请求与响应(重点) 网络爬虫 爬虫的全名叫网络爬虫,简称爬虫。他还有其他的名字,比如网络机器人,网络蜘蛛等等。爬虫就好像一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。就像一只虫子在一幢楼里不知疲倦地爬来爬去。 你可以这样理解,每个爬虫都是你的分身。就像孙悟空拔了一撮汗毛,吹出一堆猴子一样。 你每天使用的百度,其实就是利用了这种爬虫技术:每天放出无数爬虫到各个网站,把他们的信

weixin_50804299的博客 5万+

STM32H743 LAN8720网口配置避坑指南:用CubeMX v6.5.0快速搞定LWIP+FreeRTOS

本文详细介绍了使用CubeMX v6.5.0配置STM32H743与LAN8720网口的LWIP+FreeRTOS方案,涵盖硬件连接、时钟配置、ETH外设初始化及LWIP协议栈调优等关键步骤。特别针对常见陷阱提供解决方案,帮助开发者快速实现稳定网络通信,适用于嵌入式网络开发场景。

weixin_33739523的博客 356

Python、Selenium实现问卷星自动填写(内含适配个人问卷的方法)

使用Python、Selenium实现问卷星自动填写,内含适配个人问卷的方法。

DaenCode的博客 3836

一文带你掌握Python网络爬虫

Python 网络爬虫作为数据获取的有力工具,在当今数字化时代发挥着重要作用。通过本文,我们深入了解了爬虫的基本概念、工作流程、常用库以及实战应用。从简单的网页请求与解析,到复杂的反爬虫策略应对,每一个环节都蕴含着丰富的技术知识和实践技巧。在实际应用中,爬虫已经广泛渗透到各个领域,如市场调研、数据分析、舆情监测等。它帮助企业和研究人员快速获取大量有价值的数据,为决策提供了有力支持。但我们也不能忽视爬虫使用过程中的法律和道德问题,遵守 Robots 协议、保护数据隐私和合法使用数据是我们必须坚守的原则。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 4651

TC3XX - MCAL知识点(十一):WDG EB-tresos配置说明与代码浅析

在AUTOSAR中,看门狗栈实现了三种监控机制:实时监控:用于周期软件的定时监控期限监督:针对非周期软件逻辑监督:用于监督执行顺序的正确性看门狗(WDG)驱动实现AUTOSAR(4.2.2)中规定的看门狗SWS,提供初始化、改变操作模式和设置触发条件(超时)等服务,供看门狗硬件(WDT)用户使用。WDG驱动的用户包括:模式管理模块(用于初始化),WdgM通过Wdglf设置触发条件和驱动运行模式设置。WdgM实施上述监督机制。AUTOSAR扩展触发概念,以支持窗口看门狗模式。

梦想技术家 3599

python基础及网络爬虫

Python爬虫学习第一课,了解何为爬虫,python基础语法了解

记录学习路上的一些拙见 2864

推荐系统(六)双塔模型

双塔模型是推荐场景中常用的粗排模型之一,本节主要介绍几种典型的双塔模型及其变型,如SENet 双塔模型,并联双塔,蒸馏学习,对偶增强双塔,阿里 COLD。

Jin_Kwok的博客 5143

ESP8266-Arduino网络编程实例-异步TCP客户端

本次实例将使用ESPAsyncTCP库实现一个简单的客户端。

视觉与物联智能 1740

网络爬虫基本原理介绍

需要注意的是,这只是一个简单的示例代码,实际编写爬虫时需要根据具体的网站结构和规则进行相应的调整和优化。根据其目的和工作方式的不同,网络爬虫可以分为多种类型,如通用爬虫、聚焦爬虫、增量式爬虫等。通用爬虫也称为广泛爬虫,其目的是全面抓取互联网上的所有网页,以尽可能地覆盖更多的网页。增量式爬虫也称为持续式爬虫,其目的在于定期更新已经抓取过的网页,并新增有变化的页面。编写网络爬虫需要具备一定的编程技能和经验,同时需要了解相关的法律法规和道德规范,尊重网站的知识产权和隐私权,避免对网站的正常运行造成干扰和损害。

日常笔记/总结/系列知识梳理 2724

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

python网络爬虫_Python网络爬虫和文本分析!

文本大数据分析在社科学术研究中的应用方兴未艾。本文以搜集长沙市历年政府工作报告,并统计其中与环境规制相关的词汇出现频次这一问题为例,基于python3,介绍网络爬虫和文本分析的基本工作原理,算法设计和实践操作。问题笔者在研究环境规制对出口企业行为的影响时,在计量分析中需要为地区环境规制指标选取一个合适的工具变量,以解决内生性问题。现有文献(Chen et al.(2016)、陈诗一和陈登科(201...

weixin_39796140的博客 2666

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Python 网络爬虫

Scrapy是一个适用于Python的快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。它是一个框架,任何人都可以根据需求方便的修改。2、防止乱码:如果URL中含有一些非ASCII字符,如中文等,由于不同编码之间的差异,可能会造成在浏览器端乱码的情况。解析网页数据是爬虫的一个重要步骤,主要是将获取到的HTML或JSON等格式的数据转换成程序能处理的数据结构,如列表、字典等。因此,在使用网络爬虫时需要注意遵循相关法律法规和道德规范,尊重网站和用户的权益,合理使用爬虫技术。

thsjbhjsm的博客 2326

python之爬虫概述

什么是爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 其实通俗的讲就是通过程序去获取web页面上自己想要的数据,也就是自动抓取数据。 你可以爬去妹子的图片,爬取自己想看看的视频。。等等你想要爬取的数据,只要你能通过浏览器访问的数...

bestrivern的博客 806

Python3网络爬虫教程1——初识爬虫(爬虫是干嘛的?)

1. 网络爬虫 爬虫定义: 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者), 是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 两大特征 按照作者的要求下载数据和内容 能自动在网络上流窜 三大步骤 下载网页 提取正确的信息 根据一定的规则自动跳到另外的网页执行以上两步内容 爬...

Python美丽星球--微信(Felixzfb) 793
上一篇: python画笔和词云分析
下一篇: pyhton基本数据类型
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力生活的黄先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值