风变编程笔记(二)Python爬虫精进牡蛎君

因为百度很好地遵守了淘宝网的robots.txt协议,自然,你在百度中也查不到淘宝网的具体商品信息了

【网页头】中的编码是没办法在网页中直接被看到的,标签页的内容也不属于网页的正文而元素中,即【网页体】,就是那些能看到的显示在网页中的内容了

网页体中依次有四个内容:

元素代表一级标题,对应网页中的“豆瓣2019年度电影榜单”;

元素代表三级标题,对应网页中的“评分最高华语电影”;

元素代表二级标题,对应网页中的“《少年的你》”;然后是

元素,对应网页中“根据玖月晞小说......的故事”这一整段文本5.属性HTML标签可以通过设置【属性】来为HTML元素描述更多的信息

text获取到的是该标签内的纯文本信息,即便是在它的子标签内,也能拿得到。但提取属性的值,只能提取该标签本身的在爬豆瓣的时候遇到status_code为418的情况,解决办法是在request.get()时加个头安装fake-useragent模块,在终端输入pip3installfake-useragent

importrequestsfromfake_useragentimportUserAgentua=UserAgent()#实例化headers={'User-Agent':ua.random}#也可以是ua.ie,ua.chrome,ua.safari等res=requests.get(url,headers=headers)quote()实现url编码↓

fromurllib.requestimportquote,unquote#quote()函数,可以把内容转为标准的url格式,作为网址的一部分打开print(quote('海边的卡夫卡'))#》》E6%B5%B7%E8%BE%B9%E7%9A%84%E5%8D%A1%E5%A4%AB%E5%8D%A1#unquote()函数,可以转换回编码前数据print(unquote('%E6%B5%B7%E8%BE%B9%E7%9A%84%E5%8D%A1%E5%A4%AB%E5%8D%A1'))#》》海边的卡夫卡也可以↓

可以看到变化的是这个p参数,第1页XHR的参数p值为1,第2、3页XHR的参数p值则为2和3,说明在这个client_search_cp..的请求中,代表页码的参数是p(page的缩写)通过循环变更链接中的p参数就可以拿到更多歌曲信息,但这样的代码不够优雅事实上,requests模块里的requests.get()提供了一个参数叫params,可以用字典的形式,把参数传进去所以可以把QueryStringParameters里的内容,直接复制下来,封装为一个字典,传递给params。只是有一点要特别注意:要给他们打引号,让它们变字符串

a='你\\n好\\n么\\n'b=a.replace('\\n','\n')print(a)#》》你\n好\n么\nprint(b)#》》你#》》好#》》么replace()是字符串对象的一个方法,它的意思是,把第一个参数的字符串用第二个参数的字符串替代

常用的存储数据的方式有两种——存储成csv格式文件、存储成Excel文件csv是一种字符串文件的格式,它组织数据的语法就是在字符串之间加分隔符——行与行之间是加换行符,同行字符之间是加逗号分隔它可以用任意的文本编辑器打开(如记事本),也可以用Excel打开,还可以通过Excel把文件另存为csv格式(因为Excel支持csv格式文件)

一个Excel文档也称为一个工作薄(workbook),每个工作薄里可以有多个工作表(worksheet),当前打开的工作表又叫活动表每个工作表里有行和列,特定的行与列相交的方格称为单元格(cell),比如上图第A列和第1行相交的方格可以直接表示为A1单元格openpyxl模块需要安装,mac电脑在终端输入命令:pip3installopenpyxl

Excel读取↓

获取到了字符串格式的网页源代码之后,就可以用BeautifulSoup解析和提取数据了4.自动操作浏览器

1.schedule通过第三方库schedule实现定时功能标准库一般意味着最原始最基础的功能,第三方库很多是去调用标准库中封装好了的操作函数。比如schedule,就是用time和datetime来实现的对于定时功能,time和datetime当然能实现,但操作逻辑会相对复杂,而schedule可以直接解决定时功能,代码比较简单schedule需要先安装,mac电脑在终端输入:pip3installschedule

importscheduleimporttimedefjob():print("I'mworking...")schedule.every(10).minutes.do(job)#部署每10分钟执行一次job()函数的任务schedule.every().hour.do(job)#部署每×小时执行一次job()函数的任务schedule.every().day.at("10:30").do(job)#部署在每天的10:30执行job()函数的任务schedule.every().monday.do(job)#部署每个星期一执行job()函数的任务schedule.every().wednesday.at("13:15").do(job)#部署每周三的13:15执行函数的任务whileTrue:schedule.run_pending()time.sleep(1)2.定时发送天气情况

importscrapyimportbs4导入scrapy是待会要用创建类的方式写这个爬虫,所创建的类将直接继承scrapy中的scrapy.Spider类。这样,有许多好用属性和方法,就能够直接使用在Scrapy中,每个爬虫的代码结构基本都如下所示↓

importscrapy#导入scrapyclassDoubanItem(scrapy.Item):#定义一个类DoubanItem,它继承自scrapy.Itemtitle=scrapy.Field()#定义书名的数据属性publish=scrapy.Field()#定义出版信息的数据属性score=scrapy.Field()#定义评分的数据属性导入了scrapy,目的是,等会所创建的类将直接继承scrapy中的scrapy.Item类。这样,有许多好用属性和方法,就能够直接使用。比如到后面,引擎能将item类的对象发给ItemPipeline(数据管道)处理然后定义了一个DoubanItem类,它继承自scrapy.Item类之后的代码是定义了书名、出版信息和评分三种数据。scrapy.Field()这句代码实现的是,让数据能以类似字典的形式记录。举例看下↓

importscrapy#导入scrapyclassDoubanItem(scrapy.Item):#定义一个类DoubanItem,它继承自scrapy.Itemtitle=scrapy.Field()#定义书名的数据属性publish=scrapy.Field()#定义出版信息的数据属性score=scrapy.Field()#定义评分的数据属性book=DoubanItem()#实例化一个DoubanItem对象book['title']='海边的卡夫卡'book['publish']='[日]村上春树/林少华/上海译文出版社/2003'book['score']='8.1'print(book)print(type(book))#》》{'publish':'[日]村上春树/林少华/上海译文出版社/2003',#》》'score':'8.1',#》》'title':'海边的卡夫卡'}#》》会看到打印出来的结果的确和字典非常相像,但它却并不是dict,它的数据类型是DoubanItem,属于“自定义的Python字典”。可以利用类似上述代码的样式,去重新写top250.py

importscrapyclassJobuiItem(scrapy.Item):#定义了一个继承自scrapy.Item的JobuiItem类company=scrapy.Field()#定义公司名称的数据属性position=scrapy.Field()#定义职位名称的数据属性address=scrapy.Field()#定义工作地点的数据属性detail=scrapy.Field()#定义招聘要求的数据属性5.创建和编写spiders文件在spiders文件夹下创建爬虫文件,命名为jobui_jobs.py在Scrapy里,获取网页源代码这件事儿,会由引擎分配给下载器去做,不需要自己处理。之所以要构造新的requests对象,是为了告诉引擎,新的请求需要传入什么参数,这样才能让引擎拿到的是正确requests对象,交给下载器处理构造了新的requests对象,就得定义与之匹配的用来处理response的新方法。这样才能提取出想要的招聘信息的数据

FEED_URI='./storage/data/%(name)s.csv'FEED_FORMAT='CSV'FEED_EXPORT_ENCODING='utf-8'FEED_URI是导出文件的路径。'./storage/data/%(name)s.csv',就是把存储的文件放到与scrapy.cfg文件同级的storage文件夹的data子文件夹里FEED_FORMAT是导出数据格式,写CSV就能得到CSV格式FEED_EXPORT_ENCODING是导出文件编码,utf-8是用在mac电脑上的编码格式,写ansi是一种在windows上的编码格式存储成Excel文件的方法,需要先在settings.py里设置启用ITEM_PIPELINES,设置方法只要取消ITEM_PIPELINES的注释(删掉#)

THE END
1.SQL教程:执行顺序经典SQL语句高频SQL只有使<having_condition> 为 true 的组才会被插入 VT7。HAVING 语句在SQL中的主要作用与WHERE语句作用是相同的,但是HAVING是过滤聚合值,在 SQL 中增加 HAVING 子句原因就是,WHERE 关键字无法与聚合函数一起使用,HAVING子句主要和GROUP BY子句配合使用。https://blog.csdn.net/freeking101/article/details/75540982
2.www.wxzhouxiang.com/mokaka86086.html除了糖代谢异常的人群,患有肠胃疾病如肠易激综合症的人也应避免在空腹时饮用蜂蜜水。蜂蜜的渗透性可能加剧肠胃蠕动,对这部分人群可能引发腹痛或腹泻等不适。 科学改良方案:优化蜂蜜水的健康潜力 改进饮用时间与频率:建议不要每天晨起空腹饮用蜂蜜水。可以选择在早餐之后或与其他食物共同摄入,以减少直接对空腹的刺激。https://www.wxzhouxiang.com/mokaka86086.html
3.我的世界pvp连击技巧我的世界pvp走位教程)时会持续扣血直到死亡(仅在困难模式下)。附魔金苹果是最好的食物,因为它们可以在很短的时间内快速让你恢复生命值并提供抗性提升的药水效果,但是你还是得要弄一些其他的食物以恢复饥饿值。 牛奶 牛奶可以清除所有状态效果,包括正面效果和负面效果。 肉 https://www.minecraftzw.com/15604.html
4.baiyintong.com.cn/newxr44050725.shtml食物链打扑克又疼又叫 52.96MB 31好评 黄漫登录入口网站 国产精品久久久久毛片无码 porno69 34.69MB 967好评 大殿上 男人毛片插插插 狼人伊人av影院牛牛影视 16.82MB 380好评 mitunav168 欧美黄色一级大片 国内日韩无码 61.32MB 630好评 久久青青草原亚洲AV无码国产 国产爆乳美女娇喘呻吟在线...http://baiyintong.com.cn/newxr44050725.shtml
5.长春大学旅游学院后勤服务中心管理制度1.处理食物前; 2.上厕所后; 3.处理弄污的设备或饮食用具后; 4.咳嗽、打喷嚏或擤鼻涕后; 5.处理动物或废物后; 6.从事任何可能会污染双手的活动后。 (十)、销售人员必须配戴口罩,每天按时到岗,做好售餐准备。每天每餐保证正点开饭,无特殊情况不准误点。不得用手直接接触食品,出售食品必须使用专用工具。 https://www.tccu.edu.cn/hqz/2020/1024/c1272a27191/page.htm
6.有趣的机器人小学优秀作文(通用70篇)“哆啦A梦”有一个“万能口袋”,可以飞,可以时空穿梭,还可以变小、变大……想干嘛就可以干嘛,想要什么就有什么。“哆啦A梦”还可以带我去个个星球玩,更可以带我去球的每个地方看风景。如果我是科学家,我第一个做的就是“哆啦A梦”机器人。而且电源就是我们每顿吃剩的饭菜,这样可以不浪费食物。它还可以...https://www.ruiwen.com/zuowen/xiaoxue/1676018.html
7.大班科学《食物的旅行》教案(通用15篇)提问:小朋友,现在谁来说说食物在我们的身体里都经过了哪些地方?那些地方叫什么?它有什么作用? (三)再次观看PPT。 小结:食物首先来到我们的口腔,牙齿将它咬碎后经过食道到达胃,胃会分泌胃液并不停蠕动将食物磨得更碎;接着来到小肠,小肠吸收它的营养后把食物的残渣送到大肠,大肠会吸收残渣的水分,最后它就会从肛门...https://www.jy135.com/ziyuan/jiaoan/688419.html
8.我的奇思妙想作文400字(精选42篇)我知道你们肯定都有过奇思妙想,比如会飞的木屋,可以在水上行走的鞋子,可以做作业的书包,可以战斗的机器保姆,而我的奇思妙想却有很多的不同,我的奇思妙想是一台大卡车。 我的大卡车和其他的车外观上没什么不同,可是它里面有很多奇妙的小按钮,车子里还有一台四方形的机器,这台机器的名字叫作自动做饭机,只要...https://www.yuwenmi.com/zuowen/sinianji/1600819.html
9.以科技为话题的作文(通用61篇)C区的功能十分广泛。C区连接着互联网,可以进入电子商场,去购买需要的商品。还可以进入机器人厨房,用电视点菜,然后静静地看电视,等待着食物的出现。方便了生活,而且手指动一动,就可以买到东西,实在是太方便了。 这就是多功能电视机。 以科技为话题的作文 12 ...https://www.fwsir.com/fanwen/html/fanwen_20220427130807_1767144.html
10.《利用Python进行数据分析·第2版》第14章数据分析案例14.1来自...虽然我不会在本书中详细介绍机器学习技术,但我会告诉你如何对这种数据进行切片切块以满足实际需求。 MovieLens 1M数据集含有来自6000名用户对4000部电影的100万条评分数据。它分为三个表:评分、用户信息和电影信息。将该数据从zip文件中解压出来之后,可以通过pandas.read_table将各个表分别读到一个pandas DataFrame对象...https://cloud.tencent.com/developer/inventory/1681/article/1106651
11.MollyJia–Chinglishspeaks我觉得最好笑的是他们从来不告诉你什么才是敏感词。在这个国家某个阴暗的角落应该有一张“敏感词名单”吧,而且这个名单每天都在加长,再加长。我一直深深的思考这个问题, 想他们究竟是怎么审查和过滤敏感词的。中文又不像英文,各种同音字同音词,用机器过滤根本就是不可能完成的任务。所以我想了又想,觉得在什么政府...https://chinglishspeaks.wordpress.com/author/myporpoise2009/
12.半导体FAB百问知识汇总洁净工程联盟宋松答:Direct Material 直接材料,例如:蕊片 Indirect Material间接材料,例如气体… Labor人力 Fixed Manufacturing机器折旧,维修,研究费用……等 Production Support其它相关单位所花费的费用 在FAB内,间接物料指哪些? 答:Gas 气体 Chemical 酸,碱化学液 PHOTO Chemical 光阻,显影液 Slurry 研磨液 Target 靶材 Quartz 石英...https://www.shangyexinzhi.com/article/466432.html
13.AirProce简介最新艾泊斯AI-730空气净化器主打医用级长效零颗粒环境市场,采用世界顶级的双重滤网结构,底层过滤网采用F7等级过滤网,过滤大颗粒及大部分PM2.5,可保证顶级德国EBMpapst风机在一个干净的工作环境中长久稳定工作,而顶层过滤网采用H13医用级HEPA过滤网,结合塔式结构良好的密封性、气流循环及风道结构,可实现对0.3微米颗粒物大于99....https://www.airproce.com/content.html
14.我想发明了什么优秀作文350字(精选97篇)里面还储存了能供应五个人的一个的食物和水,这样就能给救援的人们足够的时间。到时候就不会有人再受伤了,更不会有人失去生命了。 最后,我很高兴地告诉大家,我的这个机器人虽然功能很强大,价格却很便宜,大家都能买的起。 我想发明了什么优秀作文350字 篇7 那么多人在买什么,哦,原来是在买房子。这种房子又...https://www.unjs.com/zuowendaquan/youxiuzuowendaquan/3718127.html
15.3g.dfvgik.cn/kainiu/522435.htmlmy19777四虎最新网名是什么 欧美肉欲XXⅩOOO肉体猎场 性做爰添lBB在线视频食物链 欧美孕交alscan巨交XXX 校草被拖到公厕灌满jing液 路人反复抹布直到通关77- 美国18禁电影激情惊爆点 五十岁熟韵母最经典十首歌曲 人善ZZZZXXXⅩ0000 欧美肉欲XXⅩOOO肉体猎场 ...http://3g.dfvgik.cn/kainiu/522435.html
16.食品机械设备的发展现状这些智能化、网络化的高新气动技术已经在一些西方国家得到了开发和应用,实现了食品包装机械进一步智能化,通过对这些技术的了解和研究吸收,国内食品包装机械的水平也有望得到提升和发展,减少食品加工过程中的人为或机器差错,确保食品机械的可靠运行,实现安全生产和清洁生产,实现食品包装过程的连续化生产,早日与国际接轨。 https://www.360wenmi.com/f/filepz9xzwwz.html
17.关于科技的作文(通用76篇)还可以进入机器人厨房,用电视点菜,然后静静地看电视,等待着食物的出现。方便了生活,而且手指动一动,就可以买到东西,实在是太方便了。 这就是多功能电视机。 科技的作文 篇15 未来,这是一个让人捉摸不透的词语。说它简单,它并不简单。它是任何人都无法改变的现实。 很多人都会幻想,未来是什么样的呢?如果让...https://www.cnfla.com/zuowen/1561219.html