• 第一页的简单爬取


    目标网址:

    http://www.51eliao.com/WinBidType.aspx?typeid=0

    需要信息:

    • √ 已完成:(第一页
    1. 对应网址
    2. 中标时间
    3. 中标类型
    4. 中标名称

    ps:下一页(即除了第一页)未完成

    • × 未完成:新打开网页中需采集
    1. 招标单位
    2. 项目编号
    3. 供应商名称
    4. 供应商地址
    5. 联系人
    6. 联系电话
    7. 产品
    8. 品牌
    9. 厂家
    10. 规格型号
    11. 数量
    12. 单价
    13. 金额

    ps:部分网页中暂无详细信息,需要点开网页中的网页,查看flash文件,人工采集信息。

    最后是要写入表格中的,暂时先在控制台中显示,用的python3.6

    import requests
    from bs4 import BeautifulSoup
    
    def get_html(url):
        headers = {
            'User-Agent': 'Mozilla/5.0(Macintosh; Intel Mac OS X 10_11_4)
            AppleWebKit/537.36(KHTML, like Gecko) Chrome/52 .0.2743. 116 Safari/537.36'
        }  # 模拟浏览器访问
        response = requests.get(url, headers=headers)  # 请求访问网站
        html = response.text  # 获取网页源码
        return html  # 返回网页源码
    
    # 初始化BeautifulSoup库,并设置解析器
    soup = BeautifulSoup(get_html('http://www.51eliao.com/WinBidType.aspx?typeid=0'), 'lxml')
    # soup = BeautifulSoup(get_html('http://www.51eliao.com/WinBidDetail.aspx?winid=18044'), 'lxml')
    print("测试" + "
    " +" 采集网址 医院名称(招标单位)  省 市(地区)  中标时间 项目名称 项目编号")
    
    #自动爬取下一页【先看看别人怎么做的】
    
    # row 网页双数,row-alt网页单数
    for tag in soup.find_all("tr",class_=["row","row-alt"]):
        m_url = tag.find('a').get('href') #链接
        m_type = tag.find('em').get_text() #中标类型
        m_name = tag.find('a').get('title') #公司
        m_time = tag.find('div',class_="d").get_text() #中标时间
        print("http://www.51eliao.com/"+m_url+"   "+m_time + "   "+m_type+m_name)
    
    

    小知识:
    1. ctrl+D 被选中的代码直接复制粘贴在下面
    2. ctrl+?被选中的代码全体被注释或解除注释
    3. shift+Tab 被选中代码前移,tab后移
    4. .get_text()函数:

    会把你正在处理的HTML文档中所有的标签都清除,

    然后返回一个只含有文字的字符串,

    通常在准备打印,存储,和操作数据时,应该最后才使用这个函数。

    一般情况下,应该尽可能的保留与HTML文档的标签结构。

  • 相关阅读:
    servlet的监听器、过滤器、拦截器的区别
    根据一个单词找所有的兄弟单词的思想如何处理
    Maven deploy 部署 jar 到 Nexus 私服
    在vps上搭建hexo博客
    Java解决LeetCode72题 Edit Distance
    学以致用:Python爬取廖大Python教程制作pdf
    puppeteer截图
    Netty接收HTTP文件上传及文件下载
    Docker中执行Shell出现乱码
    Netty URL路由方案探讨
  • 原文地址:https://www.cnblogs.com/DLYQY/p/13741992.html
Copyright © 2020-2023  润新知