Python爬虫(应朋友之邀)-功能实现版

简介:

环境:win10 py37

工具:pyCharm anaconda

主要包:BeautifulSoup,re

代码:


#!/usr/bin/python
# -*- coding: UTF-8 -*-
import re
from urllib import request

from bs4 import BeautifulSoup

html = request.urlopen("http://data.eastmoney.com/report/20181101/APPISWTR4upPASearchReport.html")
bs = BeautifulSoup(html, "html.parser")
print("title")
print(bs.title)

print("meta")
links = bs.find_all("meta")
count = 0
for link in links:
    count = count + 1
    print(count)
    attrs = link.attrs
    if "name" in attrs.keys():
        print("name:", attrs['name'])
    if "http-equiv" in attrs.keys():
        print("httpEquiv:", attrs['http-equiv'])
    if "content" in attrs.keys():
        print("content:", attrs['content'])

print("p")
ps = bs.find_all("p")
index = -1
for p in ps:
    contents = p.contents
    if len(contents) > 0:
        content = contents[0]
        if str(content).__contains__("盈利预测"):
            index = ps.index(p)
            break
needContent = ""
if index != -1:
    index = index + 2
    needContent = str(ps[index])
print(needContent)

match1 = re.search(r'[\u4e00-\u9fa5]{4}20[0-9]{2}[\u4e00-\u9fa5]-20[0-9]{2}[\u4e00-\u9fa5]', needContent)
match2 = re.search(r'EPS为.*元', needContent)
match3 = re.search(r'([\u4e00-\u9fa5]{4}“).*”[\u4e00-\u9fa5]{2}', needContent)
print(match1.group())
print(match2.group())
print(match3.group())


相关文章
|
4天前
|
设计模式 开发框架 缓存
探索Python中的装饰器:简化代码,增强功能
【9月更文挑战第16天】在Python的世界里,装饰器宛如一位巧手魔术师,轻轻一挥魔杖,便能让我们的函数和类焕发新生。本文将带你领略装饰器的魔力,从基础概念到实战应用,一步步解锁装饰器的强大潜能。让我们一起踏上这段奇妙的旅程,探索如何用装饰器简化代码,增强功能。
|
6天前
|
测试技术 开发者 Python
探索Python中的装饰器:简化代码,增强功能
【9月更文挑战第14天】在编程世界中,我们总是寻找使代码更简洁、更强大的方法。Python的装饰器正是这样一项工具,它允许我们在不修改原有函数代码的情况下,增加额外的功能。本文将通过实际示例,引导你理解装饰器的基本概念,展示如何创建和应用它们,以及如何利用装饰器简化日常编程任务。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和技巧,让你的代码更加高效和优雅。
21 12
|
7天前
|
缓存 开发者 Python
探索Python中的装饰器:简化代码,增强功能
【9月更文挑战第13天】本文深入探讨了Python中一个强大而常被误解的特性——装饰器。我们将从基础概念入手,逐步揭示其背后的原理,并通过实际示例展示如何利用装饰器来简化代码和扩展函数功能。文章不仅为初学者提供了清晰的入门指南,还为有经验的开发者展示了高级用法,旨在帮助读者更好地理解和运用装饰器,以提升编码效率和程序的可维护性。
26 10
|
3天前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
18 3
|
3天前
|
数据采集 API 开发者
🚀告别网络爬虫小白!urllib与requests联手,Python网络请求实战全攻略
在网络的广阔世界里,Python凭借其简洁的语法和强大的库支持,成为开发网络爬虫的首选语言。本文将通过实战案例,带你探索urllib和requests两大神器的魅力。urllib作为Python内置库,虽API稍显繁琐,但有助于理解HTTP请求本质;requests则简化了请求流程,使开发者更专注于业务逻辑。从基本的网页内容抓取到处理Cookies与Session,我们将逐一剖析,助你从爬虫新手成长为高手。
19 1
|
5天前
|
缓存 开发者 Python
探索Python中的装饰器:简化代码,增强功能
【9月更文挑战第15天】本文将深入探讨Python中一个强大但常被误解的特性——装饰器。我们将从基础概念出发,逐步揭示装饰器如何简化代码结构,增加函数功能而无需修改其核心逻辑。通过具体示例,你将学会如何创建自定义装饰器,以及如何利用它们来管理权限、记录日志等。无论你是初学者还是有经验的开发者,这篇文章都将为你打开一扇提高代码效率和可维护性的新窗口。
|
16天前
|
Python
探索Python中的装饰器:简化代码,增强功能
【9月更文挑战第3天】在Python的世界里,装饰器是那些静悄悄站在角落、却能大大改变游戏规则的神奇工具。它们就像是给你的函数穿上一件隐形的超级英雄斗篷,让函数拥有了超乎寻常的能力。本文将带领你一探究竟,看看如何通过几行简单的代码,就能让你的函数变得更加智能和强大。
|
11天前
|
数据采集 JavaScript 前端开发
构建你的首个Python网络爬虫
【9月更文挑战第8天】本文将引导你从零开始,一步步构建属于自己的Python网络爬虫。我们将通过实际的代码示例和详细的步骤解释,让你理解网络爬虫的工作原理,并学会如何使用Python编写简单的网络爬虫。无论你是编程新手还是有一定基础的开发者,这篇文章都将为你打开网络数据获取的新世界。
|
12天前
|
数据采集 机器学习/深度学习 搜索推荐
Python爬虫技术基础与应用场景详解
本文介绍了爬虫技术的基本概念、原理及应用场景,包括数据收集、价格监测、竞品分析和搜索引擎优化等。通过一个实战案例展示了如何使用Python爬取电商网站的商品信息。强调了在使用爬虫技术时需遵守法律法规和道德规范,确保数据抓取的合法性和合规性。
|
15天前
|
数据采集 JavaScript 前端开发
打造你的Python爬虫:从基础到进阶
【9月更文挑战第5天】在数字信息泛滥的时代,掌握一项技能能让我们更好地筛选和利用这些资源。本文将带你了解如何用Python构建一个基本的网页爬虫,进而拓展到更复杂的数据抓取任务。无论你是编程新手还是有一定经验的开发者,跟随这篇文章的步伐,你将能够实现自动化获取网络数据的目标。准备好了吗?让我们一起潜入代码的世界,解锁新的可能!