我得到了以下模式的错误:
UnicodeEncodeError: 'ascii' codec can't encode character u'\ufeff' in position 155: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
不知道是什么u'\ufeff'
,它在网络抓取时显示出来.我该如何纠正这种情况?该.replace()
字符串的方法不能进行这项工作.
我想检查某个网站是否存在,这就是我正在做的事情:
user_agent = 'Mozilla/20.0.1 (compatible; MSIE 5.5; Windows NT)'
headers = { 'User-Agent':user_agent }
link = "http://www.abc.com"
req = urllib2.Request(link, headers = headers)
page = urllib2.urlopen(req).read() - ERROR 402 generated here!
Run Code Online (Sandbox Code Playgroud)
如果页面不存在(错误402,或其他任何错误),我该怎么做page = ...
才能确保我正在阅读的页面退出?
我想在标签内搜索:
<div id="cmeProductSlatePaginiationTop" class="cmePaginiation">
<ul>
<li class="disabled">
<li class="active">
<li class="away-1">
<li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
基本上,我想计算<li ..>
这个div中的出现次数.但是,当我使用beautifulsoup时,我无法获得之间的标签div
soup = BeautifulSoup(resp)
tags = soup.find('div', attrs = {'class' : 'cmePaginiation'})
print tags
Run Code Online (Sandbox Code Playgroud)
>>> <div id="cmeProductSlatePaginiationTop" class="cmePaginiation"> </div>
有没有办法计算li
(在这个例子4中)的实例数?
我试图实现一个lxml, xpath
代码来解析链接中的 html:https://www.theice.com/productguide/ProductSpec.shtml?specId=251
具体来说,我试图解析<tr class="last">
页面末尾附近的表格。
我想获取该子表中的文本,例如:“纽约”及其旁边列出的时间(对伦敦和新加坡执行相同的操作)。
我有以下代码(无法正常工作):
doc = lxml.html.fromstring(page)
tds = doc.xpath('//table[@class="last"]//table[@id"tradingHours"]/tbody/tr/td/text()')
Run Code Online (Sandbox Code Playgroud)
与美丽汤:
table = soup.find('table', attrs={'id':'tradingHours'})
for td in table.findChildren('td'):
print td.text
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最佳方法是什么?我想使用lxml
not beautifulSoup
(只是为了看看区别)。
假设我有一个列表:
items = ['matt', 'zen', 'a', 'b', 'c', 'cat', 'dog']
if elem in items
`if 'a' 'b' 'c' found then return 1
Run Code Online (Sandbox Code Playgroud)
每当elem在列表中找到'a','b','c'并返回一个值.有没有办法以list
这种方式定义?我不希望有多个if条件(如果可以避免的话).
我想用regex读取标签内的元素,例如:
<td>Stuff Here</td>
<td>stuff
</td>
Run Code Online (Sandbox Code Playgroud)
我使用以下内容: re.findall(re.compile('<td>(.*)</td>'), str(line).strip())
为什么我可以阅读第一个<td>
标签,但不是第二个?
我想if
在lambda
函数内声明一个语句:
假设:
cells = ['Cat', 'Dog', 'Snake', 'Lion', ...]
result = filter(lambda element: if 'Cat' in element, cells)
Run Code Online (Sandbox Code Playgroud)
是否有可能将'猫'过滤掉result
?
定义模板意味着什么template <int N>
,我从书中的一个例子中读到这个:
typedef map<int, double> row;
template <int N> struct matrix;
{
map <int, row> my_matrix;
}
Run Code Online (Sandbox Code Playgroud)
我经常看到模板,然后是类,然后输入,即 template <class int>
假设我有以下列表:
x = ['a', '\n', 'b', '\n', 'c', '\n', '\n', 'd']
Run Code Online (Sandbox Code Playgroud)
如何使用该''.join()
函数忽略换行符并获取'abcd'
?
我试图在一条线上捕获美元金额:
例如:
blah blah blah (blah $23.32 blah) blah blac (blah)
我想拍摄"$ 23.32"
这就是我正在使用的:r'?([\$][.*]+)'
我告诉它找到一个(...)的出现?然后我告诉它找到一个以"$"开头的东西和任何可能出现的字符(所以我也可以得到小数点).
但是,我得到了一个错误 error: nothing to repeat
我有一个以这种格式表示的字符串:
[[u'This is a string']], what does this mean??
Run Code Online (Sandbox Code Playgroud)
我怎么能把它变成:
[u'This is a string']
Run Code Online (Sandbox Code Playgroud)
要么
['This is a string']
Run Code Online (Sandbox Code Playgroud) 我试图variables
在我的bash shell中创建,我可以随时使用它.更具体地说,我想创建一个可以存储文件夹路径的变量,例如:
mypath = `pwd`
Run Code Online (Sandbox Code Playgroud)
但是,我无法做到以下几点:
cd $ mypath
我该如何解决这个问题?此外,我想存储此变量,以便我可以在重新启动系统后使用.我将它存储在.bashrc
文件中吗?
通过创建复制构造函数的方式,我遇到了这个例子:
class MyClass
{
int x;
char c;
std::string s;
};
Run Code Online (Sandbox Code Playgroud)
由编译器复制为:
MyClass::MyClass( const MyClass& other ) : x( other.x ), c( other.c ), s( other.s )
{}
Run Code Online (Sandbox Code Playgroud)
: x( other.x )...
与函数标题行在同一行中的含义是什么?它是如何工作的?