zoukankan      html  css  js  c++  java
  • python爬虫2:按html标签提取信息和中文域名处理(BeautifulSoup用法初步)

     1 #!/usr/bin/env python  
     2 # -*- coding: utf-8 -*-  
     3 # python3
     4 import string
     5 import urllib
     6 from urllib import request
     7 from bs4 import BeautifulSoup
     8 
     9 url="https://ne0matrix.com/2020/01/08/伊朗,赢了"
    10 # 有中文的url,直接urlopen会出错,需要quote处理一下。
    safe=参数表示不需要被处理的字符,默认为/。现在设为string.printable表示非中文的不需要转换。 11 12 url_quote=urllib.parse.quote(url,safe=string.printable) 13 # quote的逆向操作unquote: 14 # url_unquote=urllib.parse.unquote(url_quote 15 print (url_quote) 16 17 page_read=request.urlopen(url_quote).read() 18 page_decode=page_read.decode('utf-8') 19 with open ('output.html','w')as f: 20 f.write(page_decode) 21 22 with open ('output.html','r')as f: 23 alltext=f.read() 24 bsobj=BeautifulSoup(alltext,'html.parser') 25 # 如果不加html.parser则使用默认的lxmlparser,会有警告,但不影响使用 26 27 print (bsobj.title) 28 # 获取标题<title>... 29 print (bsobj.title.get_text()) 30 # get_text()获取纯文字的标题 31 date=bsobj.find('p',{'class':'mt-3'}).get_text() 32 print (date.strip()) 33 # strip()去掉前后空格 34 count=bsobj.find('span',{'class':'post-count'}) 35 print(count.get_text().strip()) 36 text=bsobj.find('div',{'class':'markdown-body'}) 37 print(text.get_text()) 38 # 查找正文
  • 相关阅读:
    java包装类的缓存机制(转)
    分布式事务的思考(转)
    分布式事务框架介绍与使用案例
    java 内部类、匿名内部类
    spring cloud应用
    Oralce学习笔记(六)
    部署CentOS虚拟机集群
    商品详情页系统架构
    Oracle学习笔记(五)
    hystrix完成对redis访问的资源隔离
  • 原文地址:https://www.cnblogs.com/cityfckr/p/12357493.html
Copyright © 2011-2022 走看看