我们的专业付出,值得您的永久信赖!为您量身定制,信誉第一!

订货热线:14615766968

推荐产品
  • 亚博APP安全有保障_ 减肥不是受饿 用它做成肉丸子 嘴馋的时候吃几颗 逐步瘦不反弹
  • 亚博APP安全有保障-香蕉糖果的做法_香蕉糖果怎么做_美乐猪的菜谱
  • 亚博APP安全有保障|盐水毛豆的做法_盐水毛豆怎么做_宸·羽的菜谱
当前位置:首页 > 产品中心 > 建筑跳板
Python实战教程,爬取下厨房的菜谱_亚博APP安全有保障

 


47844
本文摘要:我整理了一些python爬虫的案例教程,代码都整理出来了,好好收藏学习,这是python实战教程真实案例。

我整理了一些python爬虫的案例教程,代码都整理出来了,好好收藏学习,这是python实战教程真实案例。在放假时 ,经常想实验一下自己做饭,下厨房这个网址是个不错的选择。

下厨房是必选的网址之一,主要提供种种美食做法以及烹饪技巧。包罗种类许多。今天教大家去爬取下厨房的菜谱 ,生存在world文档,利便日后制作自己的小菜谱。

/2 项目目的/ 获取菜谱,并批量把菜 名、 原 料 、下 载 链 接 、下载生存在world文档。/3 项目准备/软件:PyCharm需要的库:requests、lxml、fake_useragent、time网站如下:https://www.xiachufang.com/explore/?page={}点击下一页时,每增加一页page自增加1,用{}取代变换的变量,再用for循环遍历这网址,实现多个网址请求。

/4 反爬措施的处置惩罚/主要有两个点需要注意:1、直接使用requests库,在不设置任何header的情况下,网站直接不返回数据2、同一个ip一连会见多次,直接封掉ip,起初我的ip就是这样被封掉的。为相识决这两个问题,最后经由研究,使用以下方法,可以有效解决。

1)获取正常的 http请求头,并在requests请求时设置这些通例的http请求头。2)使用 fake_useragent ,发生随机的UserAgent举行会见。/5 项目实现/1、界说一个class类继续object,界说init方法继续self,主函数main继续self。导入需要的库和网址,代码如下所示。

亚博APP安全有保障

import requestsfrom lxml import etreefrom fake_useragent import UserAgentimport timeclass kitchen(object): def __init__(self): self.url = "https://www.xiachufang.com/explore/?page={}" def main(self): passif __name__ == '__main__': imageSpider = kitchen() imageSpider.main()2、随机发生UserAgent。for i in range(1, 50): self.headers = { 'User-Agent': ua.random, }3、发送请求 获取响应, 页面回调,利便下次请求。def get_page(self, url): res = requests.get(url=url, headers=self.headers) html = res.content.decode("utf-8") return html4、xpath剖析一级页面数据,获取二级页面网址。

def parse_page(self, html): parse_html = etree.HTML(html) image_src_list = parse_html.xpath('//li/div/a/@href')5、for遍历,界说一个变量food_info生存,获取到二级页面临应的菜 名、 原 料 、下 载 链 接。for i in image_src_list: url = "https://www.xiachufang.com/" + i # print(url) html1 = self.get_page(url) # 第二个发生请求 parse_html1 = etree.HTML(html1) # print(parse_html1) num = parse_html1.xpath('.//h2[@id="steps"]/text()')[0].strip() name = parse_html1.xpath('.//li[@class="container"]/p/text()') ingredients = parse_html1.xpath('.//td//a/text()') food_info = ''' 第 %s 种 菜 名 : %s原 料 : %s下 载 链 接 : %s,================================================================= ''' % (str(self.u), num, ingredients, url)6、生存在world文档。f = open('下厨房/菜谱.doc', 'a', encoding='utf-8') # 以'w'方式打开文件 f.write(str(food_info)) f.close()7、挪用方法,实现功效。

html = self.get_page(url)self.parse_page(html)8、项目优化1)方法一:设置时间延时。time.sleep(1.4)2)方法二:界说一个变量u,for遍历,表现爬取的是第几种食物。

(更清晰可观)。u=0self.u+=1;/6 效果展示/1、点击绿色小三角运行输入起始页,终止页。2、运行法式后,效果显示在控制台,如下图所示。3、将运行效果生存在world文档中,如下图所示。

4、双击文件,内容如下图所示。/7 小结/1、本文章基于Python网络爬虫,获取下厨房网站菜谱信息,在应用中泛起的难点和重点,以及如何防止反爬,做出了相对于的解决方案。

2、先容了如何去拼接字符串,以及列表如何举行类型的转换。3、代码很简朴,希望能够帮到你。4、接待大家努力实验,有时候看到别人实现起来很简朴,可是到自己动手实现的时候,总会有种种各样的问题,切勿眼妙手低,勤动手,才可以明白的越发深刻。

5、可以选择自己喜欢的分类,获取自己喜欢的菜谱,每小我私家都是厨师。6、如果需要本文源码的话,请在关注后台回复“厨房”两个字举行获取,以为不错,给我点赞。


本文关键词:亚博APP安全有保障

本文来源:亚博APP安全有保障-www.ieesltd.com