新手尝试第一次用selenium爬东西,但是第一步就卡住了 我的代码: from bs4 import BeautifulSoup from selenium import webdriver import urllib driver=webdriver.PhantomJS('C:\phantomjs-2.1.1-windows\bin\phantomjs.exe') def search(keyword): url_keyword=urllib.quote(keyword) url="https://www.baidu.com/s?ie=UTF-8&wd="+keyword print url driver.get(url) bsObj=BeautifulSoup(driver.page_source,"html5lib") with open("temp.txt","w") as f: f.write(bsObj.pr
以下是关于 python2.7 的编程技术问答
问 题 texts = [[word for word in document.lower().split()] for document in documents] 我在网址我爱自然语言处理-如何计算两个文档的相似度(二)中看到下面一份代码。 对于>>> texts = [[word for word in document.lower().split()] for document in documents]的含义不是很理解。 >>>documents = ["Shipment of gold damaged in a fire", ... "Delivery of silver arrived in a silver truck", ... "Shipment of gold arrived in a truck"] >>> texts = [[word for word in document.lower().split()] for document in doc
问 题 在ubuntu开发环境上, python的版本是 $ python --version Python 2.7.12 报错代码如下 import mysql.connector 报错信息是 ImportError: No module named mysql.connector 开始时安装的驱动是,安装成功 $ pip install mysql-connector 但是如果要是安装 mysql-connector-python就会报错 Collecting mysql-connector-python Could not find a version that satisfies the requirement mysql-connector-python (from versions: ) No matching distribution found for mysql-connector-python 所以现在使用的驱动
问 题 $ pip install pyinstaller 后运行: $ pyinstaller -F 文件 pyinstaller无法在命令行运行,会提示报错: failed to create process. 解决方案 我了解了一下感覺上應該是 pip 的一個 bug Spaces in Python path make pip-installed launchers fail on Windows 原因分析: 簡單來說就是 shebang line (script 裡面指定 python path 的那一行) 裡面有空白導致的,可能就是安裝 Python 的路徑上有空白而且 pip 在安裝的時候沒正確幫你加上引號,例如你的 Python 在: C:\Program Files (x86)\Python35-32\python.exe ^ ^ 空白惹事 然後用 pip
问 题 Ubuntu安装scrapy时遇到如下错误信息 ''' Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/Twisted/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('rn', 'n'), __file__, 'exec'))" install --record /tmp/pip-UF7S_L-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/Twisted ''' whereis python 得到如下信息: ''' pytho
问 题 直接上代码,如下: 1. a = [1,2,3] b = a[:] id(a) #204324256 id(b) #110000208 对于这个情况,a,b的地址是不一样的。 2. a = '1,2,3' b = a[:] id(a) #213689856 id(b) #213689856 对于这个情况,a和b的地址是一样的了。 同样是利用切片复制,而不是a='1,2,3',b=a这样的写法去复制,为何效果确实不一样呢? 解决方案 第一次说成__getitem__了, 有点不合适,应该是__getslice__,修改如下。 同样是利用切片复制,而不是a='1,2,3',b=a这样的写法去复制 ,为何效果确实不一样呢? 切片操作也就是x[i:j]这种操作,其实只是重写了__getslice__函数, 应该是str的重写方式与list的不一样。对于str这类不可变对象来说,应该是直接复制了原来的: 对于l
问 题 Mysql是个客户机-服务器的DBMS 我使用python的MySQLdb库来操作数据库文件。那么请问python是充当的是客户机吗?如果是,那么服务器软件是谁?它存在什么位置?不需要启动吗? 解决方案 是的,这时你的 python 程序就相当于 MySQL server 的 client (也就是你说的客户机) MySQL 服务器当然需要启动,你使用 MySQLdb 库连接 MySQL server 的时候需要指定 host 和 port ,host 和 port 就是你指的“服务器存在的位置”。 如果你在你本机启动一个 MySQL 服务,那么默认的 host 为 127.0.0.1,port 为 3306。至于如果安装和启动 MySQL server,请参考 MySQL 官方文档。
#-*- coding: UTF-8 -*- from selenium import webdriver import time browser = webdriver.Chrome() browser.get("http://cnblogs.com") time.sleep(1) browser.find_element_by_link_text("登录").click() time.sleep(1) browser.find_element_by_id("input1").send_keys("用户名") browser.find_element_by_id("input2").send_keys("密码") browser.find_element_by_id("signin").click() time.sleep(1) try: if browser.find_element_by_link_text("退出"): print "Login Suc
问 题 在python文件yy.py中引用同一个工程不同package的python文件xx.py,使用语句: from branch2 import xx 显示错误: ImportError: No module named xx 我的工程目录大概为: src | +---- __init__.py | +---- branch2 | +----__init__.py +----xx.py | +---- branch3 | +---- __init__.py +---- yy.py 确定每个package下都有__init__.py文件,使用的Python版本为2.7.10。 运行python时的cwd是src 解决方案 import os,sys sys.path.append(os.path.
#!/usr/bin/env python # -*- coding: utf-8 -*- from flask import Flask from flask import request from flask import Response app = Flask(__name__) @app.route('/rtxim', methods=['POST']) def rtxim_post(): print str(request.get_data()) return '%s' % (request.get_data() or 'null') if __name__ == '__main__': app.run('0.0.0.0',port=4492) request.get_data() 取到的值中文 被转码了,怎么转为原数据呢 例如 前台提交的中文 是 '往往', get_data() 输出的却是 %E5%BE%80%E5%BE%
问 题 按照书中代码,到达最后一步,点击确认邮件,一切正常,但是多次点击链接,还是和第一次点击链接一样,并没有提示(‘you have confirmed your account’) 代码如下: class User(UserMixin, db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(64), unique=True, index=True) username = db.Column(db.String(64), unique=True, index=True) role_id = db.Column(db.Integer, db.ForeignKey('roles.id')) password_hash = db.Column(db.String(128)) confirmed = db.Column
问 题 1.ubutu12.04 vagrant(虚拟机 -ubutu12.04) python2.7 django 1.10.3 2.安装已经完成。 root@precise32:python manage.py migrate root@precise32:/usr/local/frist_django# python manage.py runserver 0.0.0.0:8000 Performing system checks... System check identified no issues (0 silenced). November 28, 2016 - 08:45:17 Django version 1.10.3, using settings 'frist_django.settings' Starting development server at http://0.0.0.0:8000/ Quit the server w