百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python爬虫:静态网址的爬取(爬虫静态页面)

off999 2024-09-20 22:50 45 浏览 0 评论

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,,版权归原作者所有,如有问题请及时联系我们以作处理

作者:il_持之以恒_li 来源:CSDN

本文链接:https://blog.csdn.net/qq_45404396/article/details/111689288

私信小编01即可获取大量Python学习资料

1. 判断网址是静态网址还是动态网址

判断网址是否为静态网址还是动态网址,一般方法是查看网页的源代码或者来到开发者模式下,点击Network,点击All,找到我们想要的那个网址,然后点击Response,如果我们随便搜索一个字段都能在这个网址中找到,那么就应该是静态网址;相反,就是动态网址。如下:我要爬取这个网址下的相应的内容,


我们来到这个界面,点击搜索(Ctrl+F):家常红烧鱼


发现这个网址下有这个字段,说明这是一个静态网址。

2. 需要的Python模块

完成这个项目需要的Python模块有:requests、bs4、urllib.parse、os
其中,第一个模块用于爬取网址上的信息,第二个模块用于解析我们爬取得到的信息,urllib.parse主要是用来进行编码,os模块用于创建文件夹,将菜谱上面的制作方法存储到一个文件中。

3. 具体实现过程

输入自己想了解的菜的名称:用变量keyword接收
得到网址为:url=“https://www.haodou.com/search/recipe/%s”%parse.quote(keyword)
然后再从搜索得到的菜谱中选择一个自己想了解的菜,当然这需要得到这个菜的链接


最后来到这个菜的制作方法的网址

4.实现代码与运行结果

实现代码为:

from urllib import parse
from bs4 import BeautifulSoup
import requests
import os


class HaoDou():
    def __init__(self,keyword):
        self.keyword=keyword
        self.headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3756.400 QQBrowser/10.5.4039.400"}
        # 模拟浏览器
        self.url="https://www.haodou.com/search/recipe/%s"%parse.quote(keyword)

    def getResponse(self):
        response=requests.get(url=self.url,headers=self.headers)
        text=response.text
        html=BeautifulSoup(text,"lxml")
        list=html.select("div.search-result>div.el-row>div>a")
        hrefList=[]
        for i in range(len(list)):
            print("*"*30)
            print("$:【{}】->{}".format(i+1,list[i]['title']))
            hrefList.append(list[i]['href'])   # 将网址添加到列表中
            list2=list[i].select("div.img-cover.slide-mask>div>span") # 得到食材
            infoStr=""
            for html2 in list2:
                infoStr+=html2.text
            print("食材:"+infoStr)

        id=int(input("请输入你想看的序号:"))
        response2=requests.get(url='https://www.haodou.com'+hrefList[id-1],headers=self.headers)

        return response2

    def getInfo(self):
        text=self.getResponse().text
        html=BeautifulSoup(text,'lxml')
        list=html.select('div.practice>div.ingredient>div.paixu>div>a')
        mainStr=""  # 主料
        for i in range(len(list)):
            mainStr+=list[i].text+" "
        list2=html.select('div.practice>div.accessories>div.paixu>div')
        aStr=""  # 辅料
        for i in range(len(list2)):
            aStr+=list2[i].text+" "
        mStr=""
        list3=html.select('div.practice>div.practices>div.pai>div')
        for i in range(len(list3)):
            mStr+=list3[i].text+"\n"
        print("主料:"+mainStr)
        print("辅料:"+aStr)
        print(mStr)  # 制作过程

        # 将上述三个字符串写入到文件中
        path = "./制作方法"
        try:
            os.mkdir(path)
        except Exception as e:
            print(e)
        with open(file="{}/{}.txt".format(path,self.keyword),mode="a",encoding='utf-8')as f:
            f.write(mainStr+"\n")
            f.write(aStr+"\n")
            f.write(mStr)
        print("已写入到文件中,读者到时候记得去看啊!")

if __name__ == '__main__':
   	a=HaoDou(input("请输入你想了解的菜:"))
    a.getInfo()

运行结果:



运行完成之后,可以发现多了一个制作方法的文件夹,菜的制作方法就在这个文件夹下面的一个文件里面,如:


相关推荐

用我告诉你安装win7(安装win7教程)

方法一:使用工具在线一键下载安装win7(win7正式版只需使用正版密钥激活即可)1、在电脑安装好小白一键重装系统工具打开,选择原版win7旗舰版系统,点击安装此系统。2、等待软件自动下载系统镜像文件...

sd卡如何修复(如何修复sd卡视频教程)

修复SD卡的三个步骤如下:1.使用磁盘检测工具检查SD卡的错误:您可以使用Windows操作系统中自带的磁盘检查工具或第三方软件来检查并修复SD卡中的错误。2.格式化SD卡:如果检查后发现错误无法...

安卓手机杀毒软件哪个最好用

腾讯手机管家的守护老人安全功能版本我在用,我来说说吧。此版本是专门为守护老人安全设计推出的,不但有效拦截诈骗短信,电话,木马病毒,钓鱼网址,辟谣功能可以帮助老人立即分辨养生讯息,银行卡故障讯息,保险异...

xp3用什么模拟器打开(xp3用什么模拟器打开好)

可以按照以下的步骤排查解决:首先,游戏必须要使kirikiri引擎,这点可以从文件中是否含有部分xp3后缀的文件来判断然后用模拟器打开date.xp3就行了,部分汉化游戏是直接打开exe程序如果遇到d...

固态硬盘用mbr还是guid(固态硬盘guid好还是mbr好)

如果电脑原装系统是win8或者以上的,那么硬盘分区表格式为GUID(GPT)格式的;如果是win7以下的,那么一般就是MBR的。主引导记录(MBR)是计算机开机后访问硬盘时所必须要读取的首个扇区,由分...

为什么fps大神都是400dpi(fps为什么高)

400DPI,在游戏里调节不同英雄的鼠标灵敏度,可以保证最小范围微调改动鼠标移动速度。因为DPI和灵敏度是乘积关系。举个例子:如果你玩麦克雷时鼠标DPI是3200,游戏内灵敏度是1。但你切换到源氏和闪...

系统集成项目管理工程师难考吗

  系统集成项目管理工程师考试的普遍通过率是在10%左右,但是并不表示考试真的有那么难。因为考试本身没有报考条件的限制,且考试报名费用很低,很多人都不重视考试。所以通过率普遍偏低,只要你认真备考,有一...

360影视大全下载2025免费版(下载360影视大全最新版下载安装到手机版)

你好朋友360影视大全里的很多视频都是免费的,建议安装最新的360影视大全就可以了打开360视频,搜索自己需要的视频,点击360播放器右下角的下载箭头,即可将视频进行下载,下载完毕之后视频会保存在36...

360安全卫士手机版下载(360安全卫士官方免费下载手机版5.5.0)

相当靠谱360手机卫士是一款由奇虎网推出的功能强、效果好、受用户欢迎的上网安全软件。360安全卫士拥有查杀木马、清理插件、修复漏洞、电脑体检、保护隐私等多种功能,并独创了“木马防火墙”“360密盘”等...

deepin和统信uos(统信和deepin的区别)

差不多。1Deepin原名LinuxDeepin、deepinos、深度操作系统,于2014年4月改名Deepin。deepin团队基于Qt/C++(用于前端)和Go(用于后端)开发了的全新深度桌...

三星驱动(三星驱动板)

驱动是必须装的,但不需要单独安装驱动。  1、电脑的所有硬件,必然要装驱动,键盘、鼠标什么的,都是有驱动的。驱动是软件和硬件结合的桥梁。但多数普通常见的硬件,驱动是widnows系统自带的,不需要用户...

u盘启动杀毒软件(u盘杀毒系统)

  有,但是主要是专杀工具,全面的综合杀毒软件基本上没有,因为没什么用。  1、放在U盘里的杀毒软件,就是不安装,也不监控,只杀毒的软件。  2、目前的杀毒软件的工作机制,主要是监控,监控电脑不感染病...

联想维修站点查询官网(联想 维修 服务网点)

您可以在联想的官方网站上查询到附近的授权维修服务点,或者拨打联想的客服电话寻求帮助。在维修服务点,您可以享受到专业的维修服务,包括硬件故障、软件问题、系统优化等方面的维护和维修。维修人员将会根据您的电...

怎么登录hotmail邮箱(邮箱登陆hotmail)
  • 怎么登录hotmail邮箱(邮箱登陆hotmail)
  • 怎么登录hotmail邮箱(邮箱登陆hotmail)
  • 怎么登录hotmail邮箱(邮箱登陆hotmail)
  • 怎么登录hotmail邮箱(邮箱登陆hotmail)
电脑不识别移动硬盘(移动硬盘灯亮但不读取)

电脑不能识别移动硬盘可能是由于以下原因造成的:1.电脑和硬盘之间的连接首先,可以确保移动硬盘正确连接到电脑上,检查USB接口是否松动或损坏,可以尝试更换USB线或者尝试连接到其他USB接口看是否能够...

取消回复欢迎 发表评论: