当前位置: 首页 > news >正文

外语网站制作如何做自己的网站

外语网站制作,如何做自己的网站,医学网站建设风格,做啊网站爬虫入门学习(四)BeautifulSoup学习与实战1 学习BeautifulSoup基本使用2 项目实战 ——不登录爬取丁香园论坛的回复信息2.1 目标2.2 思路2.3 完整代码1 学习BeautifulSoup基本使用 大家可以参考我之前的一篇文章学习笔记——Beautiful Soup库的安装与基…

爬虫入门学习(四)BeautifulSoup学习与实战

  • 1 学习BeautifulSoup基本使用
  • 2 项目实战 ——不登录爬取丁香园论坛的回复信息
    • 2.1 目标
    • 2.2 思路
    • 2.3 完整代码

1 学习BeautifulSoup基本使用

大家可以参考我之前的一篇文章学习笔记——Beautiful Soup库的安装与基本使用方法和官方文档。
大家可以从以下角度来考虑对于BeautifulSoup的使用。

  • Step.1 BeautifulSoup是基于标签的,所以我们第一步要准确定位到我们需要信息所在的标签。
  • Step.2 从定位的标签中提取我们需要的信息(一般在属性或者在string中)
  • Step.3 对于提取数据的简单处理

2 项目实战 ——不登录爬取丁香园论坛的回复信息

2.1 目标

爬取丁香园论坛http://www.dxy.cn/bbs/thread/626626#626626上的回复内容。
说明:因为不登录只能爬取到4条。

2.2 思路

  • 第一步准确定位到回复信息所在的标签
    发现我们需要的信息都在<td class="postbody”>中,所以定位到这个标签。
    在这里插入图片描述
ls = soup.find_all("td", class_ = "postbody")
  • 第二步提取信息
    我们需要的信息都在string中,所以直接用get_text()方法就好。其中’\n’的作用是用’\n’分隔不同的标签文本,保证和原网页相同的格式输出(本质就是实现换行);strip=True的作用跟字符串中的strip()方法一样。
ls[i].get_text('\n', strip=True)

2.3 完整代码

说明:因为这部分后续还要完善,所以数据没有过多处理。

#!/usr/bin/env python
#-*- coding:utf-8 -*-
"""
@author: Jock
"""import requests
from bs4 import  BeautifulSoup as bs
import time# get_html_text(url)获取网页信息
def get_html_text(url):try:r = requests.get(url)  # 爬取完整的网页数据r.raise_for_status()  # 如果状态不是200,引发HTTPError异常return r.text  # 以字符串的形式返回爬取的网页内容except:print("访问出错")return ""  # 发生异常,返回空字符串# extract_data(data)提取网页内容
def extract_data(data):soup = bs(data, 'html.parser')# 列表ls_ms回复信息ls_ms = []ls = soup.find_all("td", class_ = "postbody")n = len(ls)for i in range(n):try:ls_ms.append(ls[i].get_text('\n', strip=True))except:print('出错')continuereturn ls_ms# 主函数
def main():url = 'http://www.dxy.cn/bbs/thread/626626#626626'data = get_html_text(url)ls_ms = extract_data(data)n = len(ls_ms)print('【问题】:' + ls_ms[0])for i in range(1,n):print('【回复'+ str(i) + '】是:', end='')print(ls_ms[i])# 测试时间
def count_spend_time(func):start_time = time.time()func()end_time = time.time()time_dif = (end_time - start_time)second = time_dif%60minute = (time_dif//60)%60hour = (time_dif//60)//60print('spend ' + str(hour) + 'hours,' + str(minute) + 'minutes,' + str(second) + 'seconds')if __name__ == '__main__':count_spend_time(main)
http://www.lbrq.cn/news/2531935.html

相关文章:

  • 仪征网站建设seo引擎优化外包公司
  • 外贸商城网站资质seo优化排名技术百度教程
  • 做网站什么职业廊坊网站推广公司
  • 做直播平台网站赚钱吗互联网销售平台
  • 假冒网站能通过备案登记吗电商网站建设公司哪家好
  • 昆明房地产网站建设百度引擎
  • 优秀国内个人网站网址sem推广软件选哪家
  • 宝鸡英文网站建设短视频矩阵seo系统源码
  • to a wordpress上海seo有哪些公司
  • 做金融网站看那些素材宁波优化网页基本流程
  • 杭州网站建设服务企业网站开发费用
  • 在哪个网站找婚照公司网络代运营推广
  • 网站怎么做更新吗如何优化网站
  • 有什么网站可以做宣传网络推广十大平台
  • 做设计需要知道的几个网站吗中国网民博客 seo
  • 北京做网站的公司上海网站推广服务公司
  • 做网站上的在线支付怎么做长沙企业seo服务
  • js网站源码已到期信息流推广主要具有哪两大优势
  • 做网站店铺图片用什么软件搜索引擎营销策划方案
  • 东丰在线网站建设成都移动seo
  • 西宁网站制作宁波谷歌优化
  • 做局域网网站教程网站设计说明
  • 福田网站建设龙岗网站建设龙岗网站建设推销产品的万能句子
  • tp框架做展示网站重庆seo
  • 2017网站趋势百度推广一级代理商名单
  • 常德网站优化想开个网站怎样开
  • 网站建设装什么系统湖南企业竞价优化公司
  • 做网站域名需哪些百度手机下载安装
  • 长春服务好的网站建设北京seo相关
  • 免费网站系统下载广州疫情已经达峰
  • Git基础命令大全
  • Camera相机人脸识别系列专题分析之十九:MTK ISP6S平台FDNode传递三方FFD到APP流程解析
  • 明智运用C++异常规范(Exception Specifications)
  • SQL158 每类视频近一个月的转发量/率
  • PyTorch 数据类型和使用
  • SQL注入SQLi-LABS 靶场less21-25详细通关攻略