<commit_before>---
layout: post
title: 关于 feedparser 超时时间
---
在 `OnlyRSS` 项目中用到了 feedparser，在使用中发现在解析一些 badurl 时会 block 掉，于是想设置解析超时时间，但是查文档发现 parser 方法没有超时参数。最后 google 到了 feedparser 项目中的 [issue221](https://code.google.com/p/feedparser/issues/detail?id=221) 说的就是这个问题，其中有解决办法：

> developers have had the ability to set a global timeout for over seven years by importing the socket library and setting the timeout in this way:

{% highlight python %}
import socket
socket.setdefaulttimeout(<timeout in floating seconds>)
{% endhighlight %}
<commit_msg>Update by gitblog.io at 2016/2/24 下午5:00:43<commit_after>---
layout: post
title: 关于 feedparser 超时时间
---
在 `OnlyRSS` 项目中用到了 feedparser，在使用中发现在解析一些 badurl 时会 block 掉，于是想设置解析超时时间，但是查文档发现 parser 方法没有超时参数。最后 google 到了 feedparser 项目中的 [issue221](https://code.google.com/p/feedparser/issues/detail?id=221) 说的就是这个问题，其中有解决办法：

> developers have had the ability to set a global timeout for over seven years by importing the socket library and setting the timeout in this way:

``` python

import socket
socket.setdefaulttimeout(<timeout in floating seconds>)
```

{'fraction_non_alphanumeric': 0.09165154264972777, 'fraction_numerical': 0.021778584392014518, 'mean_word_length': 5.565476190476191, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6076586', 'n_tokens_mistral': 458, 'n_tokens_neox': 452, 'n_words': 119}