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

吉林省住房和建设厅网站门户网站是

吉林省住房和建设厅网站,门户网站是,推广什么,wordpress管理员修改密码这是栖落的电影网站地址:https://xxx.xxx 进入网页,显示: 爬取目标:电影的名称、观影人数和评分。 易知本网站的url url "https://xxx.xxx" 本网站会识别出headers中的python请求而拒绝访问,所以需要更改…

这是栖落的电影网站地址:https://xxx.xxx

进入网页,显示:

 爬取目标:电影的名称、观影人数和评分。

易知本网站的url

url = "https://xxx.xxx"

本网站会识别出headers中的python请求而拒绝访问,所以需要更改headers当中的信息

user-agent:

 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/11.0.1587.41

对应的代码为:

headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/11.0.1587.41"

选中目标

 利用正则表达式匹配相应的信息。

obj = re.compile(r'<li>.*?标志1.*?标志2.*?标志1.*?标志2.*?标志1.*?标志2.*?</li>',re.S)

红色的.*?匹配需要的信息,其余的过滤掉多余的信息,各个标志为.*?的左右端的关键信息,r为requests模块返回的text文本。 

并且我们需要为匹配的信息赋予相应的意义,即名、观影人数和评分。

利用(?<别名>)

obj = re.compile(r'<li>.*?标志1(?P<name>.*?)标志2.*?标志1(?P<num>.*?)标志2.*?标志1<?P<score>.*?)标志2.*?</li>',re.S)

把匹配的对象放入list中以便遍历。

result = obj.finditer(r)

遍历且以一定格式输出。

 for it in result:
    print("{:<10s}{:<5s{<5s}".format(it.group("name"),it.group("num"),it.group("score")))

参考代码: 

import requests
import re#获取页面信息
url = "https://xxx.xxx"
headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/11.0.1587.41"
}
r = requests.get(url,headers=headers)
r = r.text
#print(r)
#解析页面
obj = re.compile(r'<li>.*?<span class="title">(?P<name>.*?)</span>.*?<br>(?P<num>.*?)&nbsp.*?<span class="rating_num" property="v:average">(?P<score>.*?)</li>',re.S)
#匹配
result = obj.finditer(r)
#输出
for it in result:print("{:<10s}{:<5s{<5s}".format(it.group("name"),it.group("num"),it.group("score")))

输出结果: 

小结: 

如何爬取本站?

  1. 确定url
  2. 更改headers
  3. 请求页面信息
  4. 正则匹配
  5. 输出

提问 :

re.compile是啥?

compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象。

语法格式如下:re.compile(pattern,[flags])

参数:

pattern : 一个字符串形式的正则表达式

flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:

  • re.I :忽略大小写
  • re.L :表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
  • re.M :多行模式
  • re.S :即为 . 并且包括换行符在内的任意字符(. 不包括换行符)
  • re.U :表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库
  • re.X :为了增加可读性,忽略空格和 # 后面的注释

 finditer是啥?

finditer 返回一个可迭代对象

http://www.sczhlp.com/news/140333/

相关文章:

  • 做一个好的公司网站有什么好处php网站 服务器
  • 网站推广中的评估指标有哪些深圳广告标识设计公司
  • 自己做好网站网站建设卖东西
  • 网站布局的好坏的几个要素织梦电影网站模板
  • 阜宁网站设计网络营销方式ppt
  • 网站迁移后 域名怎样做企业的网站
  • 电子商务网站开发实训总结如何在搜索引擎做网站
  • 宁波专业网站建设公司多语言的网站
  • 义乌做网站wordpress 图像描述
  • 手机网站优化排名首页北京国企设计院排名
  • 怎么做网站添加二维码手机视频网站建站
  • 横沥网站制作招聘做58推广网站找哪家好
  • 红河做网站wordpress 主页设置
  • 信用中国网站建设设计说明万能模板100字
  • 新乡营销网站建设wordpress错误500
  • 南昌医院网站建设WordPress批量修改用户
  • 东莞长安网站设计公司dw如何导出成为一个网页
  • 平台类网站建设公司微信公众号 做不了微网站
  • 萍乡网站开发旅游网站建设流程
  • 廊坊百度网站推广潍坊建网站的
  • 品牌网站建设绿d茶wordpress 网银支付
  • 做网站之前要怎样准备图片常州网站建设书生商友
  • 网站移动端是什么问题吗个人博客网站设计的目的
  • 建立本机网站河长制网站建设
  • 安徽网站设计哪家效果好php网站建设模板下载
  • 兰西网站建设直播视频网站建设
  • 北京网站建设建站公司网站标签设置
  • 做网站用php地税网站如何做税种确认
  • 做网站网站犯法吗深圳网站建设 设计科技有限公司
  • html用表格来做网站布局中小企业网站该怎么做