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源码
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MySQL索引系列:全文索引

    什么是全文索引?全文索引首先是MySQL的一种索引类型,也是搜索引擎的关键技术。试想在1M大小的文件中搜索一个词,可能需要几秒,在100M的文件中可能需要几十秒,如果在更大的文件中搜索那么就需要更大的系统开销,这样的开销是不现实的。所以在这样的矛盾下出现了全文索引技术,有时候有人叫倒排文档技术。全文索引的作用是什么?全文索引是将存储在数据库中的大段文本中的任意内容信息查找出来的技术。既然是查找包含某些内容的文本,用like+通配符或者正则表达式就可以实现模糊匹配,为什么还要全文索引?

    2022年4月9日
    52
  • @RequestBody出现请求415问题

    @RequestBody出现请求415问题首先之前也遇到过这样的问题,但是稀里糊涂的最后虽然bug修复了,但是不知道是啥原因,今天又遇到了同样的问题。问题:在前端向后台发送一个json对象(字符串),后端用@RequestBody匹配接受的时候就会出现415,如果不用@RequestBody,那么前端发送来的数据是不能被正确解析成对象里的属性的。因为用公司的框架写项目的时候,也遇见了这个问题。请教了学长,学长让我用公司自己封装的p…

    2022年6月3日
    33
  • 图解GitHub和SourceTree 入门教程 使用教程

    图解GitHub和SourceTree 入门教程 使用教程–>本教程适用于github和bitbucket和gitee等主流代码托管仓库,个人认为sourceTree还是比较好用的git客户端,支持windows和macos,当然也不排斥使用纯命令行的朋友。sourceTree配合高级的命令行,可以很方便快速的应用到项目中。–>soureceTree的最新版本可能与此教程的screenshot有些许不同,但大同小异(source…

    2022年7月25日
    16
  • cuda_error_out_of_memory(out of memory怎么办)

    报错如下思路简洁明了,他已经告诉你了,默认使用的那gpu内存不足。在操作系统输入如下,查一下memory现在的状态:nvidia-smi害,发现GPU-0有一个进程正在执行导致1GB剩余都不够。我们用GPU-1执行就行啦!问题解决python文件中:importosos.environ[“CUDA_VISIBLE_DEVICES”]=’1’解决了。…

    2022年4月10日
    433
  • 数据库concat函数

    数据库concat函数因文件改动读到老大写的代码发现该函数所以记录一下concat用法就是将数据库不同的字段串起来比如要查询nameagesex最终想出来的结果是连起来的就可以用该函数而不用再将结果拼接eg:selectid,concat(name,sex,age)asinfofromusr;这样就会输出结果info=>小明男12该函数中间可以拼接字符用来分割eg:selectid,concat(name,”,sex,”,age)…

    2022年5月9日
    72
  • Spring Boot 使用 JAX-WS 调用 WebService 服务[通俗易懂]

    Spring Boot 使用 JAX-WS 调用 WebService 服务[通俗易懂]SpringBoot使用JAX-WS调用WebService服务1新建SpringBootMaven示例工程项目2自动生成JAX-WS代码除了CXF我们还可以使用SpringBoot自身默认的组件JAX-WS来实现WebService的调用。本项目源码github下载1新建SpringBootMaven示例工程项目注意:是用来…

    2022年7月15日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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