美文网首页
Beautifulsoup解析库使用实际案例

Beautifulsoup解析库使用实际案例

作者: SunY7 | 来源:发表于2023-07-02 16:09 被阅读0次

    爬虫,是学习Python的一个有用的分支,互联网时代,信息浩瀚如海,如果能够便捷的获取有用的信息,我们便有可能领先一步,而爬虫正是这样的一个工具。之前的的文章中讲到了很多有关爬虫基础知识的使用,我们已经能够使用各种库对目标网址发起请求,并获取响应信息。本期我们会介绍各网页解析库的使用,讲解如何解析响应信息,提取所需数据。


    00966-4113027460-_modelshoot style,a girl on the computer, (extremely detailed CG unity 8k wallpaper), full shot body photo of the most beautiful.png

    解析库就是在爬虫时自己制定一个规则,帮助我们抓取想要的内容时用的。常用的解析库有re模块的正则、beautifulsoup、pyquery等等。正则完全可以帮我们匹配到我们想要住区的内容,但正则比较麻烦,所以这里我们会用beautifulsoup。
    beautifulsoup解析原理:实例化一个BeautifulSoup对象,并且将本地或者页面源码数据加载到该对象中
    通过调用该对象中相关的属性或者方法进行标签定位和数据提取。
    解析案例分享
    Beautiful Soup 对于网络抓取很有用,因为它可以获取 URL 的内容,然后解析它以提取您需要的信息。比如我们可以使用 Beautiful Soup爬取拉勾网上的岗位,薪资分布等情况,总所周知拉勾网的反爬机制非常的严格,如果我们频繁访问会被封IP,为了应对这样的反爬机制,在爬取过程中添加了由亿牛云提供的高质量隧道爬虫代理,代码实现过程如下:
    from bs4 import BeautifulSoup
    import requests
    from fake_useragent import UserAgent

    定义爬取的拉勾网页面的URL

    url = "https://www.lagou.com/"

    设置随机UA

    ua = UserAgent()
    headers = {'User-Agent': ua.random}

    动态转发隧道代理 使用代理IP提高采集成功率

    亿牛云 爬虫代理加强版 服务器和用户名、密码认证

    proxy_username = '16YUN'
    proxy_password = '16IP'
    proxy_host = 'www.16yun.cn'
    proxy_port = '31000'

    构造代理IP的格式

    proxies = {
    'http': f'http://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}',
    'https': f'https://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}'
    }

    发送请求并使用代理IP

    response = requests.get(url, headers=headers, proxies=proxies)
    soup = BeautifulSoup(response.content, 'html.parser')

    提取产品信息

    title_element = soup.find('span', id='productTitle')
    price_element = soup.find('span', class_='price')
    description_element = soup.find('div', id='productDescription')

    title = title_element.text.strip()
    price = price_element.text.strip()
    description = description_element.text.strip()

    打印产品信息

    print("标题:", title)
    print("价格:", price)
    print("描述:", description)

    相关文章

      网友评论

          本文标题:Beautifulsoup解析库使用实际案例

          本文链接:https://www.haomeiwen.com/subject/twpfudtx.html