Python爬虫程序实例

Python爬虫程序实例在这个爬虫程序中使用到“BeautifulSoup”与“requests”两个包,所以我们之前要安装这两个包,如果不清楚是否安装,可以使“piplist”查看是否已经安装。做“爬虫程序”时建议用谷歌浏览器对网页元素进行检查,在网页空白处右击鼠标在弹出菜单中,使用“检查”菜单项。在检查元素窗口中,在“Elements”窗口仔细查看网页元素,特别要观察所要截取的内容前后HTML元素的特征。在上述代码中:主要抓取中的元素,这里看到它们的class元素的名称都是“news_li_strong”,所以在代

大家好,又见面了,我是你们的朋友全栈君。

在这个爬虫程序中使用到“BeautifulSoup”与“requests”两个包,所以我们之前要安装这两个包,如果不清楚是否安装,可以使“pip list”查看是否已经安装。
做“爬虫程序”时建议用谷歌浏览器对网页元素进行检查,在网页空白处右击鼠标在弹出菜单中,使用“检查”菜单项。
在这里插入图片描述
在检查元素窗口中,在“Elements”窗口仔细查看网页元素,特别要观察所要截取的内容前后HTML元素的特征。
在这里插入图片描述
在上述代码中:主要抓取

  • 中的元素,这里看到它们的class元素的名称都是“news_li_strong”,所以在代码中使用:
    div = news_li.find_all(‘li’, class_ = ‘news_li_strong’)
    可以得到新闻的标题的li区域内容,再使用对span区域取值,可以取到新闻标题的名称:
    spant=lia.find_all(‘span’, class_ = ‘total_txt’)
    spant是各标题的集合。以下取得各新闻内容的链接地址:
    suburl=””
    for a in lia.find_all(‘a’):
    suburl=a.get(‘href’)
    urlstr=self.server + suburl
    再使用如下的代码取得新闻的具体内容:
    req = requests.get(url = target)
    html = req.text
    bf = BeautifulSoup(html)
    texts = bf.find_all(‘div’, class_ = ‘context_info_bottle_con’)
    texts = texts[0].text.replace(’\xa0’*8,’\n\n’)
    return texts
    这样取得了所有内容后,再使用写入即可将新闻标题与内容抓取到文件中。
    源码下载:Python源码
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149643.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 硬盘安装Linux(ubuntu,centos)[通俗易懂]

    硬盘安装Linux(ubuntu,centos)[通俗易懂]硬盘安装Linux(ubuntu,centos) 硬盘安装Linux使用硬盘安装Linux最大的好处不只是方便,是快速。之前使用U盘安装,很慢,没有记录具体时间。Ubuntu区别不大,本身比较小,安装介质只有2G(ubuntu18.10);CentOS区别明显,最大的安装ISO文件9G(CentOS7.5);说明:系统对文件系统的支持:Ubunt…

  • 【Tensorflow】安装支持AVX2指令集的Tensorflow「建议收藏」

    【Tensorflow】安装支持AVX2指令集的Tensorflow「建议收藏」主要依据:https://github.com/fo40225/tensorflow-windows-wheel在ReadMe中找到满足自己需求的版本我用的是:打开文件夹,获取其下载链接:https://github.com/fo40225/tensorflow-windows-wheel/blob/master/1.13.1/py37/CPU/avx2/tensorflow-1.13…

  • matlab插值函数的优缺点,Python和Matlab插值函数的不同结果

    matlab插值函数的优缺点,Python和Matlab插值函数的不同结果我正在将代码从Matlab转换为Python2.7,在转换interp1函数时遇到问题。我看过已经贴出来的类似问题,但还没有解决。问题是新生成的值(yn)的向量的第一个值不同,而其余的几乎相同。当使用不同的插值方法时,我得到的值略有不同,但是同样的问题。目前我真的不知道为什么会这样。有没有人对此有任何了解或看到我可能犯的错误?谢谢。在变量:x=[5.5,5.46678,5….

  • 计算机浮点表示法 教案,计算机组成原理——浮点数表示方法(示例代码)

    计算机浮点表示法 教案,计算机组成原理——浮点数表示方法(示例代码)简介这篇文章主要介绍了计算机组成原理——浮点数表示方法(示例代码)以及相关的经验技巧,文章约568字,浏览量241,点赞数7,值得推荐!为了表示浮点数,数被分为两部分:整数部分和小数部分。例如,浮点数14.234就有整数部分14和小数部分0.234.首先把浮点数转换成二进制数,步骤如下:1把整数部分转换成二进制.2把小数部分转换成二进制.3在两部分之间加上小数点.浮点数还可以规范化,浮点数可以用单…

  • 常用渗透测试工具(数据包渗透测试)

    BurpSuiteBurpSuite能高效率地与多个工具一起工作,例如:一个中心站点地图是用于汇总收集到的目标应用程序信息,并通过确定的范围来指导单个程序工作。在一个工具处理HTTP请求和响应时,它可以选择调用其他任意的Burp工具。例如:代理记录的请求可被Intruder用来构造一个自定义的自动攻击的准则,也可被Repeater用来手动攻击,也可被Scanner用来分析漏洞,或者被Spider(网络爬虫)用来自动搜索内容。应用程序可以是“被动地”运行,而不是产生大量的自动请求。Burp

  • 2019 最新 JAVA eclipse 中文汉化包 安装教程&Eclipse 汉化教程完美版

    2019 最新 JAVA eclipse 中文汉化包 安装教程&Eclipse 汉化教程完美版2019最新JAVAeclipse中文汉化包安装教程https://blog.csdn.net/qq_40763929/article/details/83067921Eclipse汉化教程完美版https://blog.csdn.net/weixin_39626452/article/details/80631849…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号