python 中的网页抓取 urlopen

2023-12-05

我正在尝试从该网站获取数据:http://www.boursorama.com/includes/cours/last_transactions.phtml?symbole=1xEURUS

看来 urlopen 没有得到 html 代码,我不明白为什么。 它是这样的:

html = urllib.request.urlopen("http://www.boursorama.com/includes/cours/last_transactions.phtml?symbole=1xEURUS")
print (html)

我的代码是对的,我用相同的代码获取了其他网页的html源,但它似乎无法识别这个地址。

它打印:b''

也许另一个图书馆更合适?为什么urlopen不返回网页的html代码? 帮忙谢谢!


就我个人而言,我写道:

# Python 2.7

import urllib

url = 'http://www.boursorama.com/includes/cours/last_transactions.phtml?symbole=1xEURUS'
sock = urllib.urlopen(url)
content = sock.read() 
sock.close()

print content

Et si tu parles français,.. bonjour sur stackoverflow.com !

update 1

事实上,我现在更喜欢使用以下代码,因为它更快:

# Python 2.7

import httplib

conn = httplib.HTTPConnection(host='www.boursorama.com',timeout=30)

req = '/includes/cours/last_transactions.phtml?symbole=1xEURUS'

try:
    conn.request('GET',req)
except:
     print 'echec de connexion'

content = conn.getresponse().read()

print content

改变httplib to http.client这段代码应该足以使其适应 Python 3。

.

我确认,通过这两个代码,我获得了源代码,在其中我看到了您感兴趣的数据:

        <td class="L20" width="33%" align="center">11:57:44</td>

        <td class="L20" width="33%" align="center">1.4486</td>

        <td class="L20" width="33%" align="center">0</td>

</tr>

                                        <tr>

        <td  width="33%" align="center">11:57:43</td>

        <td  width="33%" align="center">1.4486</td>

        <td  width="33%" align="center">0</td>

</tr>

update 2

将以下代码片段添加到上面的代码中将允许您提取我认为您想要的数据:

for i,line in enumerate(content.splitlines(True)):
    print str(i)+' '+repr(line)

print '\n\n'


import re

regx = re.compile('\t\t\t\t\t\t<td class="(?:gras )?L20" width="33%" align="center">(\d\d:\d\d:\d\d)</td>\r\n'
                  '\t\t\t\t\t\t<td class="(?:gras )?L20" width="33%" align="center">([\d.]+)</td>\r\n'
                  '\t\t\t\t\t\t<td class="(?:gras )?L20" width="33%" align="center">(\d+)</td>\r\n')

print regx.findall(content)

结果(仅最后)

.......................................
.......................................
.......................................
.......................................
98 'window.config.graphics = {};\n'
99 'window.config.accordions = {};\n'
100 '\n'
101 "window.addEvent('domready', function(){\n"
102 '});\n'
103 '</script>\n'
104 '<script type="text/javascript">\n'
105 '\t\t\t\tsas_tmstp = Math.round(Math.random()*10000000000);\n'
106 '\t\t\t\tsas_pageid = "177/(includes/cours/last_transactions)"; // Page : boursorama.com/smartad_test\n'
107 '\t\t\t\tvar sas_formatids = "8968";\n'
108 '\t\t\t\tsas_target = "symb=1xEURUS#"; // TargetingArray\n'
109 '\t\t\t\tdocument.write("<scr"+"ipt src=\\"http://ads.boursorama.com/call2/pubjall/" + sas_pageid + "/" + sas_formatids + "/" + sas_tmstp + "/" + escape(sas_target) + "?\\"></scr"+"ipt>");\t\t\t\t\n'
110 '\t\t\t</script><div id="_smart1"><script language="javascript">sas_script(1,8968);</script></div><script type="text/javascript">\r\n'
111 "\twindow.addEvent('domready', function(){\r\n"
112 'sas_move(1,8968);\t});\r\n'
113 '</script>\n'
114 '<script type="text/javascript">\n'
115 'var _gaq = _gaq || [];\n'
116 "_gaq.push(['_setAccount', 'UA-1623710-1']);\n"
117 "_gaq.push(['_setDomainName', 'www.boursorama.com']);\n"
118 "_gaq.push(['_setCustomVar', 1, 'segment', 'WEB-VISITOR']);\n"
119 "_gaq.push(['_setCustomVar', 4, 'version', '18']);\n"
120 "_gaq.push(['_trackPageLoadTime']);\n"
121 "_gaq.push(['_trackPageview']);\n"
122 '(function() {\n'
123 "var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n"
124 "ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n"
125 "var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n"
126 '})();\n'
127 '</script>\n'
128 '</body>\n'
129 '</html>'



[('12:25:36', '1.4478', '0'), ('12:25:33', '1.4478', '0'), ('12:25:31', '1.4478', '0'), ('12:25:30', '1.4478', '0'), ('12:25:30', '1.4478', '0'), ('12:25:29', '1.4478', '0')]

我希望您不打算在外汇上“玩”交易:这是快速亏损的最佳方式之一。

update 3

对不起 !我忘了你使用的是 Python 3。所以我认为你必须像这样定义正则表达式:

正则表达式 = 重新编译(b'\t\t\t\t\t......)

也就是说b在字符串之前,否则你会得到类似的错误这个问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 中的网页抓取 urlopen 的相关文章

  • 获取 .wav 文件长度或持续时间

    我正在寻找一种方法来找出 python 中音频文件 wav 的持续时间 到目前为止我已经了解了 pythonwave图书馆 mutagen pymedia pymad我无法获取 wav 文件的持续时间 Pymad给了我持续时间 但它不一致
  • 从文本文件中删除特定字符

    我对 Python 和编码都很陌生 我当时正在做一个小项目 但遇到了一个问题 44 1 6 23 2 7 49 2 3 53 2 1 68 1 6 71 2 7 我只需要从每行中删除第三个和第六个字符 或者更具体地说 从整个文件中删除 字符
  • 将非常大的Python列表输出保存到mysql表中

    我想将 python 生成的列表的输出保存在 mysql 数据库的表中 该表如下所示 mysql 中的 myapc8 表 https i stack imgur com 4B4Hz png这是Python代码 在此输入图像描述 https
  • 是否可以从 Julia 调用 Python 函数并返回其结果?

    我正在使用 Python 从网络上抓取数据 我想使用这些数据在 Julia 中运行计算 是否可以在 Julia 中调用该函数并返回其结果 或者我最好直接导出到 CSV 并以这种方式加载数据 绝对地 看PyCall jl https gith
  • 如何确保 re.findall() 停止在正确的位置?

    这是我的代码 a import re re findall r lt title gt lt title gt a 结果是 title aaa
  • 在Python上获取字典的前x个元素

    我是Python的新手 所以我尝试用Python获取字典的前50个元素 我有一本字典 它按值降序排列 k 0 l 0 for k in len dict d l 1 if l lt 51 print dict 举个小例子 dict d m
  • Arcpy 模数在 Pycharm 中不显示

    如何将 Arcpy 集成到 Pycharm 中 我尝试通过导入模块但它没有显示 我确实知道该模块仅适用于 2 x python arcpy 在 PyPi Python 包索引 上不可用 因此无法通过 pip 安装 要使用 arcpy 您需要
  • 如何使用scrapy检查网站是否支持http、htts和www前缀

    我正在使用 scrapy 来检查某些网站是否工作正常 当我使用http example com https example com or http www example com 当我创建 scrapy 请求时 它工作正常 例如 在我的pa
  • python 中的 <> 运算符有什么作用?

    我刚刚遇到这个here http www feedparser org feedparser py 总是这样使用 if string1 find string2 lt gt 1 pass 什么是 lt gt 运算符这样做 为什么不使用通常的
  • 运行 Python 单元测试,以便成功时不打印任何内容,失败时仅打印 AssertionError()

    我有一个标准单元测试格式的测试模块 class my test unittest TestCase def test 1 self tests def test 2 self tests etc 我的公司有一个专有的测试工具 它将作为命令行
  • 使用 for 循环创建一系列元组

    我已经搜索过 但找不到答案 尽管我确信它已经存在了 我对 python 很陌生 但我以前用其他语言做过这种事情 我正在以行形式读取数据文件 我想将每行数据存储在它自己的元组中 以便在 for 循环之外访问 tup i inLine wher
  • 从 Flask 运行 NPM 构建

    我有一个 React 前端 我想在与我的 python 后端 API 相同的源上提供服务 我正在尝试使用 Flask 来实现此目的 但我遇到了 Flask 找不到我的静态文件的问题 我的前端构建是用生成的npm run build in s
  • pandas 相当于 np.where

    np where具有向量化 if else 的语义 类似于 Apache Spark 的when otherwise数据帧方法 我知道我可以使用np where on pandas Series but pandas通常定义自己的 API
  • 如何查找或安装适用于 Python 的主题 tkinter ttk

    过去 3 个月我一直在制作一个机器人 仅用代码就可以完美运行 现在我的下一个目标是为它制作一个 GUI 但是我发现了一些障碍 主要的一个是能够看起来不像一个 30 年前的程序 我使用的是 Windows 7 我仅使用 Python 3 3
  • 使用另一个数据帧在数据帧中创建子列

    我对 python 和 pandas 很陌生 在这里 我有一个以下数据框 did features offset word JAPE feature manual feature 0 200 0 aa 200 200 0 200 11 bf
  • XPath:通过当前节点属性选择当前和下一个节点的文本

    首先 这是从我之前的问题 https stackoverflow com questions 5202187 xpath select current and next nodes text by current node attribut
  • Python bug - 或者我的愚蠢 - 扫描字符串文字时 EOL

    我看不出以下两行之间有显着差异 然而第一个解析 而后者则不解析 In 5 n Axis of Awesome In 6 n Axis of Awesome File
  • minizinc python 安装

    我通过 anaconda 提示符在 python 上安装了 minizinc 就像其他软件包一样 pip install minizinc 该软件包表示已成功安装 我可以导入该模块 但是 我正在遵循基本示例https minizinc py
  • IndexError - 具有匀称形状的笛卡尔 PolygonPatch

    我曾经使用 shapely 制作一个圆圈并将其绘制在之前填充的图上 这曾经工作得很好 最近 我收到索引错误 我将代码分解为最简单的操作 但它甚至无法执行最简单的循环 import descartes import shapely geome
  • python从二进制文件中读取16字节长的双精度值

    我找到了蟒蛇struct unpack 读取其他程序生成的二进制数据非常方便 问题 如何阅读16 字节长双精度数出二进制文件 以下 C 代码将 1 01 写入二进制文件三次 分别使用 4 字节浮点型 8 字节双精度型和 16 字节长双精度型

随机推荐

  • 我的对象的 ArrayList,indexOf 问题

    我对 Java 的 ArrayList 有问题 我创建了一个对象 它包含两个属性 x 和 y 现在我已经在 ArrayList 中加载了一些对象 问题是我不知道如何找到我正在搜索的具有 x 属性的某个对象的索引 有什么办法可以做到这一点吗
  • 优化查询

    我有以下功能 CREATE FUNCTION dbo SuiviRupture CodeArticle NVARCHAR 13 CodeSite NVARCHAR 5 CodeStructure NVARCHAR 13 RETURNS ca
  • 比较模型的同一性,但与变量?用减号构造?

    我的团队正在实施一个变体Ceusters 的参照物追踪 在我们的实现中 实体的原始 URI 可以更改 更改为包含 UUID 的内容 但始终保留原始 URI 的链接 例如 Joey rdf type person New York City
  • 反编译的程序集 - 异常代码

    我使用 ILSpy 反编译了一个程序集 其中一个类特别引起了我的注意 public class CustomTextStream NetworkStream private EventHandler
  • 获取 WinRT 中的当前用户

    我是一名 C 开发人员 我已经习惯了旧的Environment CurrentUser 现在我需要在我的 Windows 8 Metro 应用程序 html 和 js 中精确地做到这一点 那么我怎样才能得到它呢 Windows System
  • Lua中使用“#”运算符计算表的长度? [复制]

    这个问题在这里已经有答案了 我使用时有一个问题 计算表的长度 例如 local t a b local t1 a nil print t 2 print t1 1 local t a b local t1 nil a print t 2 p
  • ajax post后使用模型渲染页面

    是否可以发出 ajax post 请求 并在控制器中返回一个模型 然后使用该模型渲染页面 为了说明我的意思 假设我们有一个简单的 ajax 帖子 ajax url Home PostReq data JSON stringify data
  • 命令 `sed -i "s/^ \+//g; s/ \+/\t/g"` 是什么意思?

    我是新来的sed 有人可以帮我解释以下 sed 命令吗 sed i s g s t g 我找到了解释 i谷歌上有选项 但没有对上述模式含义的确切解释 抱歉 由于我们的内部服务器最近正在维护 因此我无法在此处显示示例文件 这意味着我无法访问此
  • 如何重定向到/user/dashboard

    我必须重定向到 user dashboard登录后的页面 但每次我关闭选项卡并再次打开它时 它都会打开默认主页 即 import React from react import isAuthenticated from helpers au
  • 重置/更改 mysql root 密码

    如何重置 更改 mysql root 密码Bitnami wamp 堆栈 我尝试这个solution但这对我不起作用 在bitnami文件夹中没有文件 bin mysqld nt exe 解决问题 1 停止服务 wampstackMySQL
  • 如何在kivy recycleview中仅选择一个按钮

    我正在使用 kivy recycleview 创建一个 mp3 播放器 该应用程序在播放列表屏幕中有很多按钮 每当您单击某个按钮时 该按钮的图标就会从 播放 更改为 暂停 反之亦然 我想知道如何以单击另一个按钮将所有其他按钮图标更改为 播放
  • Java 和 .NET 3.5 之间进程间通信的最佳方法是什么?

    第三方应用程序从 XML 文件中读取一些 Java 代码 并在发生特定事件时运行它 在 Java 中 我想告诉在同一台计算机上运行的 NET 3 5 应用程序发生了此事件 每次传输的总数据量大概就是几个字符 使用 Java 告诉 NET 进
  • UITextField 只能有正数

    我需要验证一个UITextField 我只想在其中输入正整数 我怎样才能做到这一点 添加 UITextFieldDelegate 并将此代码添加到您的类中 define LEAGELNUM 0123456789 BOOL textField
  • javascript 函数运行时 HTML 页面不会更新

    铬 FF Opera 和可能其他浏览器在进程结束时仅显示 100000 数字 但我希望看到按顺序显示 1 2 3 4 100000 这段代码不能很好地工作
  • 谷歌地图未填充模态弹出窗口

    当用户单击地图时 我使用模式弹出窗口在此页面上 这会显示带有方向的更大地图 然而 地图并没有填满整个空间 我不明白为什么 当我右键单击它以签入镀铬检查器时 它会使地图 填充模式 请原谅所有代码 但我认为最好将其全部包含在内 div clas
  • 寻找 .NET SNMP 扩展代理

    我正在开发一个 C 针对完整框架 4 Windows 应用程序 我需要该应用程序写入一些简单的计数器 更重要的是 当发生重大应用程序事件时 引发 或者应该触发 一些 SNMP 陷阱 现在大多数可用的 NET SNMP 库都可以做到这一点 到
  • Angularjs 加载模板很慢

    我有一些并没有真正做太多的事情 但它确实需要最长的时间来加载 我把代码写出来给大家看 app js var simple simple test angular module CRTapp controller ItemController
  • Android:在操作栏上添加 searchView

    我的完整项目如下 有一个listView连接到数据库和带建议的搜索选项 我想将此搜索栏移至操作栏并格式化它就像Google Play 商店搜索栏 请帮助我 我的完整代码是 MainActivity java package com Gurb
  • 输出到[Word]文档时,如何在SSRS(RDLC报告)的每个页面上重复表组标题?

    正如中提到的微软文档 Word 不会在第二页及以上页面重复标题行 尽管您 设置 tablix 中静态标题行的 RepeatOnNewPage 属性 表 矩阵或列表 为 True 您可以定义显式分页符 在报告中强制标题行出现在新页面上 然而
  • python 中的网页抓取 urlopen

    我正在尝试从该网站获取数据 http www boursorama com includes cours last transactions phtml symbole 1xEURUS 看来 urlopen 没有得到 html 代码 我不明